旧方法

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/

10-12 06:42