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