字符串跳闸 - 附加信息:序列不包含任何元素
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()
我 运行 遇到了一个奇怪的错误。
我得到: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()