Linq select-处理将引发超出范围异常的情况

时间:2019-04-09 14:23:55

标签: c# arrays linq

有人知道我可以编写此表达式以返回空字符串的方式,该数组的长度小于ii

for (var ii = 0; ii < maxColumnLength; ii++)
{
    var rowDataArray = columnData.Select(x => x[ii]);
}

我知道我可以将其编写为for循环,但是我正在尝试以这种方式进行

2 个答案:

答案 0 :(得分:3)

通常,您用ternary operator检查条件,然后选择适当的项目

var rowDataArray = columnData.Select(x => ii >= x.Length ? "" : x[ii]);

在这种情况下,如果满足条件,则采用第一个元素,如果不满足,则采用第二个元素。

从文档中:

  

条件运算符的语法如下:
  condition ? consequence : alternative

答案 1 :(得分:0)

        for (var ii = 0; ii < maxColumnLength; ii++)
        {
            var rowDataArray = columnData.Select(x => ii < x.Length ? x[ii] : string.Empty);
        }