首页 > 代码库 > C# 点滴(一)

C# 点滴(一)

1. C#数据类型分为值类型,引用类型。其中基本的数据类型比如int,double等,以及struct是值类型;而object,class,string,dynamic属于引用类型。

C#中内存分为堆栈内存(相当于C++/C中的栈内存)和托管堆内存(相当于C++/C中的堆内存),堆栈内存随着程序调用函数结束而自动释放,托管堆内存由C#的垃圾回收机制在适当的时候进行回收。

其中值类型数据存放在堆栈内存,而引用类型的数据(准确的说是数据实体而不是数据变量名)存放在托管堆上。比如 int a = 3, 变量a存放在堆栈内存上;Object c = xx; 变量c 是一个引用,它指向xx在托管堆中的内存位置;而变量c本身是一个值变量,存放在堆栈区。

 

2. C# 中类和结构有以下几个基本的不同点:

  • 类是引用类型,结构是值类型。
  • 结构不支持继承。
  • 结构不能声明默认的构造函数。

 

C# 点滴(一)