C#对象初始化
之前在学习过程中只是知道该如何初始化对象,但是却不明白为何要这么做,不这么做有什么问题。...1、 在 栈内存为引用开辟空间
2、 在 堆内存为对象开辟空间
3、 对 对象的成员变量进行 默认初始化 //默认初始化为null
4、 对 对象的成员变量进行 显示初始化 //赋予初始值
5、 通过...C# 引用类型和值类型
1、引用类型
FCL(Framework)中的大多数类型都是引用类型,引用类型总是在托管堆中分配的,C#的new操作符会返回对象的内存地址,也就是指对象数据的内存地址。...在使用引用类型时,存在以下性能问题,这是我们在开发中必须要注意的:
a、内存必须从托管堆上分配(也就是说每new一个对象,会占用内存,对象过多就会导致内存占用)
b、 堆上分配的每个对象都有一些额外的成员...,这些成员必须初始化
c、对象中的其他字节(为字段而设),总是设为0
d、从托管堆中每分配一个对象,可能强制执行一次垃圾回收操作
所以当我们的应用程序中都是引用类型时,应用程序的性能会显著下降。