本文主要是介绍《深入理解C#》——NullableT 装箱和拆箱(第四章),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
Nullable<T>是一个结构,且是一个值类型
下面举一些关于可空类型的装箱和拆箱行为
//有值的可空变量
Nullable<int> nullable = 5;
//将值类型转换成引用类型就是装箱
//将引用类型转换成值类型就是拆箱
//装箱成“有值的可空类型的实例”
object boxed = nullable;
Console.WriteLine(boxed.GetType());
//int类型是非可空变量
//拆箱成非可空变量
int normal = (int)boxed;
Console.WriteLine(normal);
//Nullable<T> 是可空变量
//拆箱成可空变量
nullable = (Nullable<int>)boxed;
Console.WriteLine(nullable);nullable = new Nullable<int>();
//装箱成“没有值的可空类型的实例”
boxed = nullable;Console.WriteLine(boxed==null);
//拆箱成可空变量
nullable = (Nullable<int>)boxed;
Console.WriteLine(nullable.HasValue);
这篇关于《深入理解C#》——NullableT 装箱和拆箱(第四章)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!