检查 ListObject 值

Checking ListObject value

我正在尝试检查我的 ListObject 范围内是否包含数字 9。我一直收到 "Cannot implicitly convert type 'int' to 'bool'"。

if (xlWorkBook.Worksheets["Sheet1"].ListObjects["table1"].Range[1, 1].value2 = 9)
{
    xlSheet.Cells[5, 5] = "YES!";
}
else 
{ 
    xlSheet.Cells[5, 5] = "NO!"; 
}

已解决的答案:

if (xlWorkBook.Worksheets["Sheet1"].ListObjects["table1"].Range[1, 1].value2 == 9)
{
    xlSheet.Cells[5, 5] = "YES!";
}
else 
{ 
    xlSheet.Cells[5, 5] = "NO!"; 
}

在阅读了 C# 的运算符后,我发现“==”用于比较,而“=”用于赋值。

if (xlWorkBook.Worksheets["Sheet1"].ListObjects["table1"].Range[1, 1].value2 == 9)

您的 if 应如下所示。 ===

的区别
if (xlWorkBook.Worksheets["Sheet1"].ListObjects["table1"].Range[1, 1].value2 == 9)

您使用的是赋值运算符而不是比较运算符。所以编译器认为你要赋值。它变成了 int 语句而不是 bool。这就是为什么它给出错误 Cannot implicitly convert type 'int' to 'bool.所以你应该使用 == 而不是 =