Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/8: Рейтинг темы: голосов - 8, средняя оценка - 4.75
7 / 7 / 5
Регистрация: 27.04.2015
Сообщений: 583

Логика сочетания && и ||

22.03.2017, 16:00. Показов 1740. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день!
Подскажите, почему у меня выполняются оба условия?
Хотя как я понимаю, второе условие должно пропускаться.
C#
1
2
3
4
5
6
7
8
9
10
string str="два";
boolKeyHave=false;
if (!boolKeyHave && str == "один" || str == "два" || str == "три")
     {
       Console.WriteLine("1");                    
     }
if (boolKeyHave && str == "один" || str == "два" || str == "три")
     {
       Console.WriteLine("2");
     }
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
22.03.2017, 16:00
Ответы с готовыми решениями:

В чем разница между & и &&
подскажите в чем разница между двумя операторами на практике & и && в книге приведены простенькие примеры и результат у них...

Службы. Логика методов OnStart & OnStop
Добрый вечер. По заданию нужно созданный сервер засунуть в службу. Собственно тут и появляется вопрос как это реализовать, код сервера: ...

Различия между & и &&
Здравствуйте! Застрял на теме логики, в общем помогите разобраться в отличиях при решении задач между & и && Середину...

2
Эксперт .NET
 Аватар для Rius
13165 / 7725 / 1679
Регистрация: 25.05.2015
Сообщений: 23,535
Записей в блоге: 14
22.03.2017, 16:12
Balalamb, скобочки расставляйте, чтобы не путаться. Получилось, похоже, следующее:
C#
1
2
3
4
5
6
7
8
if ((((!boolKeyHave) && str == "один") || str == "два") || str == "три")
     {
       Console.WriteLine("1");                    
     }
if ((((boolKeyHave) && str == "один") || str == "два") || str == "три")
     {
       Console.WriteLine("2");
     }
Добавлено через 5 минут
Для наглядности:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
Func<bool, int, bool> log = (bool flag, int index) =>
{
    Console.WriteLine($"{index}:{flag}");
    return flag;
};
 
string str = "два";
bool boolKeyHave = false;
 
if (log(!boolKeyHave, 1) && log(str == "один", 2) || log(str == "два", 3) || log (str == "три", 4))
{
    Console.WriteLine("var 1");
}
 
if (log(boolKeyHave, 5) && log(str == "один", 6) || log(str == "два", 7) || log(str == "три", 8))
{
    Console.WriteLine("var 2");
}
===>>>>
Code
1
2
3
4
5
6
7
1:True
2:False
3:True
var 1
5:False
7:True
var 2
1
7 / 7 / 5
Регистрация: 27.04.2015
Сообщений: 583
22.03.2017, 16:16  [ТС]
Rius, спасибо, вы меня на правильную мысль натолкнули, вот так все сработало!
C#
1
2
3
4
5
6
7
8
if ((!boolKeyHave) && (str == "один" || str == "два" || str == "три"))
     {
       Console.WriteLine("1");                    
     }
if ((boolKeyHave) && (str == "один" || str == "два" || str == "три"))
     {
       Console.WriteLine("2");
     }
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
22.03.2017, 16:16
Помогаю со студенческими работами здесь

Как изменить код чтоб в xml файл записывалось не с &gt; &lt; а с <>?
Нужно так: &lt;contents&gt; &lt;attribute name=&quot;Name&quot;&gt; &lt;value&gt;&lt;string val=&quot;Sally&quot;/&gt;&lt;/value&gt; &lt;/attribute&gt; Получается так: ...

Оператор && не может применяться к операндам типа string и int
Оператор &amp;&amp; не может применяться к операндам типа string и string string a, b, c, d; a = &quot;Avet&quot;; ...

Как правильно произвести двойную && и || проверку условия if()
Доброго времени суток! Как правильно произвести проверку нескольких условий Вот например int один = 1; ...

C чего начать изучение Windows Forms && WPF?
Подскажите, пожалуйста, какую книгу лучше почитать, чтобы начать изучение Windows Forms и Windows Presentation Foundation с нуля? У...

Програма которая рассчитывает значение функции с использованием оператора if/else и логических операций && и ||
Написать программу на языке С #, которая рассчитывает значение функции с использованием оператора if/else и логических операций &amp;&amp;...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут. https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc Первый документ красиво выглядит, но без схемы. Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Программный код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере". Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита,. . .
Команды формы и диалоговое окно
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти". Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. В качестве источника данных. . .
Кому нужен AOT?
DevAlt 26.03.2026
Решил сделать простой ланчер Написал заготовку: dotnet new console --aot -o UrlHandler var items = args. Split(":"); var tag = items; var id = items; var executable = args;. . .
Отправка уведомления на почту при изменении наименования справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере изменения наименования типового справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной. . .
модель ЗдравоСохранения 5. Меньше увольнений- больше дохода!
anaschu 24.03.2026
Теперь система здравосохранения уменьшает количество увольнений. 9TO2GP2bpX4 a42b81fb172ffc12ca589c7898261ccb/ https:/ / rutube. ru/ video/ a42b81fb172ffc12ca589c7898261ccb/ Слева синяя линия -. . .
Midnight Chicago Blues
kumehtar 24.03.2026
Такой Midnight Chicago Blues, знаешь?. . Когда вечерние улицы становятся ночными, а ты не можешь уснуть. Ты идёшь в любимый старый бар, и бармен наливает тебе виски. Ты смотришь на пролетающие. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru