2016-10-27 3 views
0

Я пытаюсь проверить диапазон в пределах моего ListObject, чтобы узнать, содержит ли он номер 9. Я продолжаю получать «Невозможно неявно преобразовать тип« int »в« bool ».Проверка значения ListObject

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

Кто-то проголосовал за это, пожалуйста, сообщите, почему вы проголосовали за это. Это поможет мне создать лучший вопрос в будущем и исправить любые текущие ошибки в текущем вопросе. – Brad

ответ

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

Ваш вопрос должен выглядеть следующим образом. Сделать разницу между = и ==

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

Вы используете asignment оператор не является оператором сравнения. Поэтому компилятор считает, что вы собираетесь присвоить значение. и вместо bool это будет утверждение int. поэтому он дает ошибку. Невозможно неявно преобразовать тип 'int' в 'bool. Поэтому вы должны использовать == not =

Смежные вопросы