1. 值类型与引用类型
值类型就是内存中某处位置保存的值,该值具备实际意义。比如int i=10;内存中的10就是i的值。
引用类型也是内存中保存的值,但是该值指向内存中其他位置。比如String str=“123”。str保存的实际上是"123"在内存中存储的位置的地址,只是我们在使用的时候C#语言知道str是引用类型就把对应的"123"取出来给我们用。
2. null的含义
值类型总是包含一个值,所以不存在null。引用类型的值可以是null,此时表示该引用类型还未指向具体的空间,也就是还没包含值。
3. 可空类型
可控类型是指值可以为null的值类型,有点拗口,例如:
static void Main(string[] args) { int? i = null; if (i == null) Console.WriteLine("i is null"); } 定义一个int?类型的i,此处int?表示可空类型。