文章标题
来源:互联网 发布:matlab软件做量化投资 编辑:程序博客网 时间:2024/05/16 05:38
C#中关于类型值的体会
值类型
- 值类型变量存储在堆栈中。
- 访问时一般是直接访问其实例。
- 复制值变量时,复制的是其数据大小,而不是变量的地址。
- 值类型的变量不能为null,必须有一个确定的值。
引用类型
- 必须在托管堆中为引用类型变量分配内存。
- 必须使用new关键字来创建引用类型变量。
- new创建的对象内部成员必须被初始化。
- 引用类型的变量是由垃圾回收机制来管理的。
引用类型可以理解为C语言中的指针,存放在栈内。new创建的对象实例,存放在堆区,这时候在堆内部的首地址赋值给引用类型变量(栈区)。
例如:
class program
{
class example
{
public int Value = 0;
}
static void Main(string[] args)
{
example myex = new example();
myex.Value = 1;
example test = myex;
Console.WriteLine(“Values:{0},{1}”,myex.Value,test.Value);
Console.ReadLine();
}
}
输出结果 Values:1,1
即引用变量(指针)指向同一个堆空间单元,也就是为什么不需要为test分配存储空间,因为栈空间是编辑器在编译时候自动分配的。
阅读全文
1 0
- 文章标题文章标题文章标题文章标题文章标题文章标题文章标题文章标题文章标题文章标题文章标题文章标题文章标题文章标题文章标题文章标题文章标题
- 文章标题
- 文章标题
- 文章标题
- 文章标题 文章标题 文章标题 文章标题
- 文章标题
- 文章标题
- 文章标题
- 文章标题
- 文章标题
- 文章标题
- 文章标题
- 文章标题
- 文章标题
- 文章标题
- 文章标题
- 文章标题
- 文章标题
- java 操作系统cmd示例
- ajax配置
- SubList 使用注意事项
- CentOS7安装vmware驱动
- Java知识点
- 文章标题
- 统计学学习笔记——(10)t检验
- HTTP基本认证(Basic Authentication)的java调用示例
- 算法训练 A+B problem
- Train_2:promise简例
- 性能测试jvm进程意外退出问题排查
- package.json说明 npmjs
- 架构和设计有什么区别?
- 成功抓取豆瓣读书的所有书籍