字符串跳闸 - 附加信息:序列不包含任何元素

string tripping - Additional information: Sequence contains no elements

我 运行 遇到了一个奇怪的错误。

我得到:Additional information: Sequence contains no elements 并且在 string sheetNum = "";

时被绊倒

当 ling 函数找不到任何东西时,我通常会收到此错误,所以我完全不知道为什么会在这里被绊倒。

此外,不确定这是否是我最近更新 Visual Studio IDE 的结果。

这是其中的代码块。它是 winforms 的按钮:

private void createSheetButton_Click(object sender, EventArgs e)
        {
            string sheetNum = ""; // <--- getting error here
            bool sheetNumExistsBool = false;
            if (colSheetsList.Count() > 0)
            {
                sheetNum = colSheetsList.First().get_Parameter(BuiltInParameter.SHEET_NUMBER).AsString(); 
                sheetNumExistsBool = colSheetsList.Any(x => x.get_Parameter(BuiltInParameter.SHEET_NUMBER).AsString() == sheetNumTextBox.Text);
            }
            //... more code here 
       }

问题是,如果 colSheetsList 捕捉到 0 行,其余代码将继续处理不适合它的 0 行,并会导致这样错误。您应该添加一个非零操作。

您应该使用 FirstOrDefault() 作为 Cflux 所说的。当它捕捉到 0 行时,它会破坏其余代码和 return null 以防止此类错误。

解决方案

使用FirstOrDefault()