powered by simpleCommunicator - 2.0.55     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Помогите упростить булеву логику.
25 сообщений из 37, страница 1 из 2
Помогите упростить булеву логику.
    #38720599
Ростигай
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Привет.

Можно ли написать ниже-приведенный запрос более коротко ?

Код: c#
1.
2.
3.
      object ob1, ob2;
      if ( ((ob1 == null) && (ob2 != null)) || ((ob1 != null) && (ob2 == null)) )
          throw new ApplicationException ("ля ля")



Логика проверки простая - оба объекта должны быть либо NULL либо НЕ NULL. Но только вместе.
Если один так, а другой так - ошибка, сгенерить исключение.
...
Рейтинг: 0 / 0
Помогите упростить булеву логику.
    #38720614
Фотография Яростный Меч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: c#
1.
2.
if ((ob1 == null) != (ob2 == null))
    throw new ApplicationException ("ля ля")
...
Рейтинг: 0 / 0
Помогите упростить булеву логику.
    #38720619
Ростигай
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Яростный Меч,

Гениально и просто :)
Спасибо.
...
Рейтинг: 0 / 0
Помогите упростить булеву логику.
    #38720654
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: c#
1.
2.
if (!(ob1 == null ^ ob2 == null))
    throw new ApplicationException ("ля ля")
...
Рейтинг: 0 / 0
Помогите упростить булеву логику.
    #38720662
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Тьфу... "Если один так, а другой так - ошибка, сгенерить исключение".

Код: c#
1.
2.
3.
4.
if (ob1 == null ^ ob2 == null)
{
    throw new ApplicationException ("ля ля")
}
...
Рейтинг: 0 / 0
Помогите упростить булеву логику.
    #38720680
netivan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAТьфу... "Если один так, а другой так - ошибка, сгенерить исключение".

Код: c#
1.
2.
3.
4.
if (ob1 == null ^ ob2 == null)
{
    throw new ApplicationException ("ля ля")
}


вот имхо. чем в if все тупее и проще,тем легче понимать.
...
Рейтинг: 0 / 0
Помогите упростить булеву логику.
    #38720687
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
netivanвот имхо. чем в if все тупее и проще,тем легче понимать.+100
потом читаешь свой код через полгода и думаешь, блин, что я тут имел ввиду.
ну или камент писать - тогда получится еще длиннее ))
...
Рейтинг: 0 / 0
Помогите упростить булеву логику.
    #38720691
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
netivanskyANAТьфу... "Если один так, а другой так - ошибка, сгенерить исключение".

Код: c#
1.
2.
3.
4.
if (ob1 == null ^ ob2 == null)
{
    throw new ApplicationException ("ля ля")
}


вот имхо. чем в if все тупее и проще,тем легче понимать.Разве оператор XOR труден для понимания?
...
Рейтинг: 0 / 0
Помогите упростить булеву логику.
    #38720692
netivan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAnetivanпропущено...

вот имхо. чем в if все тупее и проще,тем легче понимать.Разве оператор XOR труден для понимания?
нет. но скажем так я использовал его пару раз. Предпочитаю & or. Видимо я плохой программист.
...
Рейтинг: 0 / 0
Помогите упростить булеву логику.
    #38720694
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
netivanskyANAпропущено...
Разве оператор XOR труден для понимания?
нет. но...То есть не труден, но и не лёгок? Информатику в школе прогуливал?
...
Рейтинг: 0 / 0
Помогите упростить булеву логику.
    #38720744
Pallaris
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAnetivanпропущено...

нет. но...То есть не труден, но и не лёгок? Информатику в школе прогуливал?

Скажу прямо - в логических условиях c# вижу его в первый раз.
...
Рейтинг: 0 / 0
Помогите упростить булеву логику.
    #38720770
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ростигай
Код: c#
1.
2.
3.
      object ob1, ob2;
      if ( ((ob1 == null) && (ob2 != null)) || ((ob1 != null) && (ob2 == null)) )
          throw new ApplicationException ("ля ля")



Самый внятный и правильный код. Ничего сокращать не надо. Легко линейно читается, легко добавляются к указанному коду новые и более сложные конструкции. Оставить как есть и не морочить себе голову.
...
Рейтинг: 0 / 0
Помогите упростить булеву логику.
    #38720772
Фотография Яростный Меч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PallarisskyANAпропущено...
То есть не труден, но и не лёгок? Информатику в школе прогуливал?

Скажу прямо - в логических условиях c# вижу его в первый раз.в логических условиях он по сути то же самое, что и "не равно".
...
Рейтинг: 0 / 0
Помогите упростить булеву логику.
    #38720811
Pallaris
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Яростный МечPallarisпропущено...


Скажу прямо - в логических условиях c# вижу его в первый раз.в логических условиях он по сути то же самое, что и "не равно".

Само собой, только видишь такое - и бровь ползет вверх.
...
Рейтинг: 0 / 0
Помогите упростить булеву логику.
    #38720832
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУРостигай
Код: c#
1.
2.
3.
      object ob1, ob2;
      if ( ((ob1 == null) && (ob2 != null)) || ((ob1 != null) && (ob2 == null)) )
          throw new ApplicationException ("ля ля")




Самый внятный и правильный код. Ничего сокращать не надо. Легко линейно читается, легко добавляются к указанному коду новые и более сложные конструкции. Оставить как есть и не морочить себе голову.

Согласен на все 100. Чем понятней и проще, тем лучше! Болезнь, выраженная в стремлении зашифровать логику в одну строку с помощью хитрожопых конструкций, проходит вместе со взрослением.
...
Рейтинг: 0 / 0
Помогите упростить булеву логику.
    #38720864
Сон Веры Павловны
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttСогласен на все 100. Чем понятней и проще, тем лучше!
Нюанс в том, что критерии понятности и простоты у каждого свои. Для меня вот лично в данной ситации самый простой и понятный вариант - с XOR'ом.
...
Рейтинг: 0 / 0
Помогите упростить булеву логику.
    #38720890
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PallarisskyANAпропущено...
То есть не труден, но и не лёгок? Информатику в школе прогуливал?

Скажу прямо - в логических условиях c# вижу его в первый раз.Ну все бывает в первый раз :)

XOR (исключающее ИЛИ, строгая дизъюнкция) - это булева функция, которой в C# соответствует оператор ^. Грех не воспользоваться по назначению.
...
Рейтинг: 0 / 0
Помогите упростить булеву логику.
    #38720893
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Забавно то, что в первом посте мы видим не что иное, как запись XOR в виде ДНФ (дизъюнктивная нормальная форма). А вы тут делаете удивленное лицо :)
...
Рейтинг: 0 / 0
Помогите упростить булеву логику.
    #38720907
Pallaris
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAЗабавно то, что в первом посте мы видим не что иное, как запись XOR в виде ДНФ (дизъюнктивная нормальная форма). А вы тут делаете удивленное лицо :)

Проблема надраконенности мозга на узнавание. Решая каждый день тысячи задач "и","или","не" в повседневной жизни, я не могу слету понять, что происходит в случае с XOR, надо задуматься, вспомнить. Тогда как конструкция тса проста в понимании.
...
Рейтинг: 0 / 0
Помогите упростить булеву логику.
    #38720919
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Pallarisчто происходит в случае с XOR, надо задуматься, вспомнить
XOR по-русски - это всего навсего ЛИБО
...
Рейтинг: 0 / 0
Помогите упростить булеву логику.
    #38720944
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
offskyANA, конкуренты ?
...
Рейтинг: 0 / 0
Помогите упростить булеву логику.
    #38720984
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PallarisskyANAЗабавно то, что в первом посте мы видим не что иное, как запись XOR в виде ДНФ (дизъюнктивная нормальная форма). А вы тут делаете удивленное лицо :)

Проблема надраконенности мозга на узнавание. Решая каждый день тысячи задач "и","или","не" в повседневной жизни, я не могу слету понять, что происходит в случае с XOR, надо задуматься, вспомнить. Тогда как конструкция тса проста в понимании.КО: да, ДНФ проще для понимания, для того она и существует.

Только вот ТС просит обратное, а Вы его что, отговариваете что-ли?

P.S.: а про надроконенность мозга... Ну просто у нас в школе преподавали логику и информатику, а в институте математическую логику. Видимо не всё у меня из головы вылетело
...
Рейтинг: 0 / 0
Помогите упростить булеву логику.
    #38720989
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУ
offskyANA, конкуренты ?
Нет. Система на внутренний рынок ориентирована, а не на выездной туризм. Но это маячок, что начали наконец внутренний рынок осваивать.
...
Рейтинг: 0 / 0
Помогите упростить булеву логику.
    #38720992
sphinx_mv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAP.S.: а про надроконенность мозга... Ну просто у нас в школе преподавали логику и информатику, а в институте математическую логику. Видимо не всё у меня из головы вылетело Карты Карно?
...
Рейтинг: 0 / 0
Помогите упростить булеву логику.
    #38720998
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sphinx_mvskyANAP.S.: а про надроконенность мозга... Ну просто у нас в школе преподавали логику и информатику, а в институте математическую логику. Видимо не всё у меня из головы вылетело Карты Карно?В школе проходили.
...
Рейтинг: 0 / 0
25 сообщений из 37, страница 1 из 2
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Помогите упростить булеву логику.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]