>我正在阅读C#6.0
中引入的空条件运算符。
我做了?.
运算符的链接,遇到了以下功能
double SumNumbers(List<double[]> setsOfNumbers, int indexOfSetToSum)
{
return setsOfNumbers?[indexOfSetToSum]?.Sum() ?? double.NaN;
}
它也可以处理IndexOutOfRangeException
还是我仍然必须添加丑陋的try-catch
?
不,仅仅是因为它是null-conditional
运算符,而不是indexoutofrange-conditional
运算符。
解决方法之一是使用 ElementAtOrDefault 方法,该方法检查索引,如果索引超出范围,则返回 null。