Null条件运算符(Elvis运算符)可以防止IndexOutOfRangeException吗?

时间:2019-10-18 06:49:36

标签: c#-6.0

我正在阅读C#6.0中引入的空条件运算符。

我做了?.运算符的链接,并且遇到了以下函数

double SumNumbers(List<double[]> setsOfNumbers, int indexOfSetToSum)
{
    return setsOfNumbers?[indexOfSetToSum]?.Sum() ?? double.NaN;
}

它还能处理IndexOutOfRangeException还是我仍然要添加丑陋的try-catch吗?

1 个答案:

答案 0 :(得分:1)

否,仅因为它是null-conditional运算符,而不是indexoutofrange-conditional运算符。

解决该问题的一种方法是使用ElementAtOrDefault方法检查索引,如果索引超出范围,则返回null。