我正在检查我的ListObject中的一个范围,看看它是否包含数字9,我一直得到一个“不能隐式地将'int‘类型转换为'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#的运算符之后,我发现"==“用于比较,而"=”用于赋值。
发布于 2016-10-27 19:25:47
if (xlWorkBook.Worksheets["Sheet1"].ListObjects["table1"].Range[1, 1].value2 == 9)你的如果应该是这样的。改变=和==
发布于 2016-10-27 19:34:47
if (xlWorkBook.Worksheets["Sheet1"].ListObjects["table1"].Range[1, 1].value2 == 9)您使用的是运算符,而不是比较运算符。所以编译器认为你要分配价值。它变成int语句而不是bool。这就是为什么错误不能隐式地将'int‘转换为'bool’的原因。
https://stackoverflow.com/questions/40292716
复制相似问题