Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Общие вопросы по .NET и C# > Оператор !


Автор: кмс 8.11.2011, 21:17
Здравствуйте.
Есть куски исходников на C#, пытаюсь их перевести на дельфи.
Попался такой код:
Код

for (byte b = 0; b < 16; b += 1)
 {
 if (!(ByteArray[b]))
 {
.......

Не совсем понятно это -  if (!(ByteArray[b]))
Это проверка, находится ли в массиве[b] 0 или нет?

В справочнике написано:
Цитата
Оператор логического отрицания (!) — это унарный оператор, который выполняет над своим операндом операцию НЕ. Он задан для типа bool и возвращает true тогда и только тогда, когда его операнд имеет значение false.

Но в данном случае(не с типом bool) как он работает?
Спасибо.

Автор: andDavid 8.11.2011, 21:38
Твой код равносилен этому : 

Код

if (ByteArray[b] != 0)
{
}

Автор: кмс 8.11.2011, 23:47
А не наоборот? Судя по коду, там более предположительно что - if (ByteArray[b] == 0)
Ну да ладно, главно убедился что это проверка на 0, дальше уже не проблема проверить smile
Спасибо.

Автор: baldina 9.11.2011, 01:05
Цитата(кмс @  8.11.2011,  23:47 Найти цитируемый пост)
А не наоборот? Судя по коду, там более предположительно что - if (ByteArray[b] == 0)

да smile , ==

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