旧方法
int? myFavoriteNumber = 42;
int total = 0;
if (myfavoriteNumber.HasValue)
total += myFavoriteNumber.Value *2;
新方法?
int? myFavoriteNumber = 42;
total += myFavoriteNumber?.Value *2; //fails
最佳答案
空传播运算符?。如它所说,将传播空值。在int?.Value的情况下,这是不可能的,因为Value的类型int不能为null(如果可能的话,该操作将变为null * 2
,这意味着什么?)。因此,“旧方法”仍然是目前的做法。
关于c# - 如何将Nullable运算符与Null条件运算符一起使用?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/35970502/