且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

C# 值类型与引用类型 null与可空类型

更新时间:2022-08-18 12:38:47

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?表示可空类型。