认识全面的null

在.NET中,null标识一个对象引用是无效的。作为引用类型变量的默认值,Null是针对指针(引用)而言的,它是引用类型的专属概念

结论

  • null为引用类型标量的默认值,为引用类型的概念范畴
  • null不等同于0,‘’,‘string.Empty’,而表示一个空引用
  • 引用is或as模式对类型进行判断或转换时,需要做进一步的Null检查
  • 判断一个变量是否为null,可以应用==或!=操作符来完成
  • **对任何值为null的变量操作,都会抛出NullReferenceExceptiom异常**0

    Nullable< T >(可空类型):
    int? i = null ; <==> Nullable< int > i= null;
    可空类型伟大在于为值类型添加了“可空性”,例如Nullable< Boolean >的值就包括true,false,和null
    Nullable(可空类型)总结:

  • 可空类型表示值为null的值类型

  • 不允许使用嵌套的可空类型,例如Nullable< Nullable< T > >
  • Nullable< T > 和T?是等效的。
  • 对可空类型执行GetType方法,将返回类型T,而不是Nullable< T>
  • C#允许在可空类型上执行转换和转型
  • CLR提供了对可空类型装箱和拆箱的支持,是为了更好的将可空类型与原有的类型系统进行兼容

??运算符:
例如:
Console.WriteLine(a??null??b???c??null);
通过多次的的??判定,从候选者a,b,c挑出不是null的那个

你可能感兴趣的:(INSIDE.NET)