Member 12931315 Ответов: 2

У меня проблемы с оператором if


Когда я пробую условие с переменной int и строковой переменной
это дает ошибку

Пожалуйста, помогите мне

Аджит

Что я уже пробовал:

int nSet =0 ;
int nCount=0 ;
string  cPrevtag ="";

/* nCount and cPrevtag change with my method calling

if (nCount == 1 && cPrevtag = 'O')
   {
     nSet = nSet + 1;

   }

[no name]

Символ-это не строка. = не то же самое, что ==.

Member 12931315

Спасибо, но я попробовал результат тот же

Аджит

2 Ответов

Рейтинг:
4

MattTelles

Существует множество проблем с вашим кодом, но он будет компилироваться. Понятия не имею, работает ли это, так как вы не показываете остальную часть своего приложения:

int nSet =0 ;
int nCount=0 ;
string cPrevtag ="";

/* nCount and cPrevtag change with my method calling */

if (nCount == 1 && cPrevtag == "O")
{
    nSet = nSet + 1;

}


Как уже отмечали другие, вы не можете сравнить строку с символом ( одинарные кавычки указывают на символ). Кроме того, вы должны использовать == для сравнения. Наконец, ваш комментарий не был закрыт */

Мэтт


Member 12931315

Спасибо Мэтт, я поставил этот комментарий только для вопроса

CPallini

5.

Рейтинг:
18

OriginalGriff

Две вещи здесь не так:

if (nCount == 1 && cPrevtag = 'O')

1) cPrevtag объявлен как строка, но ваше сравнение с символом - это не разрешено.
2) " = " -это присваивание, а не сравнение: и C# требует булевых результатов (в отличие от C и C++, которые работают с "ненулевым-истинно"). Оператор сравнения -" =="

Попробовать это:
if (nCount == 1 && cPrevtag == "O")


Member 12931315

Привет Грифф

Я пробовал, что это все равно, что сказать оператор '==' не может быть применен к строке операнда
есть ли лучший способ ?

Заранее спасибо

Аджит

[no name]

Тогда ты сделал что-то не так. То, что мы вам сказали, было правильно и действительно работает. Но поскольку вы не любите делиться такими мелочами, как сообщения об ошибках, нам остается только гадать, в чем ваша проблема.

OriginalGriff

Внимательно прочтите мой код: я изменил " = " на "= = "*и" O " на " O"

OriginalGriff

Извините - это не было предназначено для вас - это было предназначено для операции...: румянец:

OriginalGriff

Внимательно прочтите мой код: я изменил " = " на "= = "*и" O " на " O"

Member 12931315

Святая корова, я этого не заметил,проблема решена
Большое спасибо!.

OriginalGriff

Пожалуйста!

CPallini

5.