我正在尝试检查ListObject
中的某个范围,看它是否包含数字9.我一直得到一个"无法隐式转换类型' 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#的操作符后,我发现" =="用于比较,而" ="用于作业。
答案 0 :(得分:5)
if (xlWorkBook.Worksheets["Sheet1"].ListObjects["table1"].Range[1, 1].value2 == 9)
你的if应该是这样的。在=
和==
答案 1 :(得分:3)
if (xlWorkBook.Worksheets["Sheet1"].ListObjects["table1"].Range[1, 1].value2 == 9)
您使用的是对齐运算符,而不是比较运算符。所以编译器认为你要分配价值。它变成了int语句而不是bool。这就是它给出错误的原因不能隐式地将类型'int'转换为'bool。所以你应该使用== not =