空条件运算符(猫王运算符)可以防止索引超出范围异常吗?



>我正在阅读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。

最新更新