Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Общие вопросы по .NET и C# > Что у меня неправильно в конструкции с || (and)?


Автор: Fighter 20.3.2008, 20:03
Код

                while ((j <= str.Length - 1) || (str[j].CompareTo(" ")))
                    j++;


Выдает ошибку:

 error CS0019: Operator '||' cannot be applied to operands of type 'bool' and 'int'

Автор: Freak_FB 20.3.2008, 20:13
Во первых то, что || - это оператор ИЛИ, а не И. Это раз. smile
А во вторых то, что результатом выполнения CompareTo() является значение типа int. По-моему, лучше использовать сравнение str[j] == ' '. Вот так то.

Автор: Optimus 20.3.2008, 20:15
Если str типа String, то метод CompareTo() возвращает int

Автор: vponomarov 21.3.2008, 00:03
Fighter, подведу итоги если решение проблемы еще не очевидно smile 
правильным кодом будет:
Код

while ((j <= str.Length - 1) || (str[j].CompareTo(" ")==0))
                    j++;


Добавлено через 56 секунд
хотя даже лучше так:
Код

while ((j < str.Length ) || (str[j].CompareTo(" ")==0))
                    j++;

 smile 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)