fangfangfang

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

C# 中的 ??

使用HasValue和Value只读属性测试是否为空和检索值。
对null值的对象调用Value属性会抛出System.InvalidOperationException,此时应使用GetValueOrDefault()方法返回该基础类型所赋的值或默认值。
空结合运算符(??)放在两个操作数之间,第一个操作数必须是一个可空类型或引用类型,第二个操作数必须与第一个操作数的类型相同,或者可以隐式地转换为第一个操作数的类型。如果第一个操作数不是null,取第一个操作数的值;否则,取第二个操作数的值。
一个使用可空类型和空结合运算符的例子如下:
    int? a = null;
    int b = a.HasValue ? a.Value : a.GetValueOrDefault();
    int c = a ?? b;  

posted on 2016-02-01 10:14  fangfangfang  阅读(88)  评论(0)    收藏  举报