美文网首页
C# 可以为null 的类型

C# 可以为null 的类型

作者: CodeVin | 来源:发表于2019-03-22 20:21 被阅读0次

    可以为 null 的类型是 System.Nullable<T> 结构体的实例。可以为null的类型可以表示一个基础类型的所有值 T ,还可再表示一个 null 值。T 不能是引用类型,因为引用类型本身就可以为null。

    Nullable<int> x = 1;
    int? y = 2;
    
    • 语法 T? 是 Nullable<T> 的简写
    • 使用 Nullable<T>.HasValue 和 Nullable<T>.Value 属性可测试是否存在 null 值并检索值。如果 HasValue 返回 true,则变量包含值,并可通过 Value 访问,若 HasValue 返回 false,则变量值为 null
    • T? 默认值的 HasValue 属性返回 false

    从可以为null的值类型转换为基础类型

    使用运算符 ??

    int? c = null;
    //如果c为null,则d为-1,否则d = c
    int d = c ?? -1;
    

    不要使用强制类型转换的方式!运行时假如可为null 的值恰好为null,将引发异常

    相关文章

      网友评论

          本文标题:C# 可以为null 的类型

          本文链接:https://www.haomeiwen.com/subject/ggfdvqtx.html