Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.91/11: Рейтинг темы: голосов - 11, средняя оценка - 4.91
4 / 4 / 1
Регистрация: 20.01.2010
Сообщений: 93

| и || (Пример из книги)

03.11.2013, 16:15. Показов 2529. Ответов 22
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Отрывок программы, где идет перегрузка оператора |. Истина - если хотя бы одна из координат !=0. А Ложь, если все все =0.

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
class ThreeD
{
    int x, y, z; // Координаты    
 
    public ThreeD() { x = y = z = 0; }
    public ThreeD(int i, int j, int k) { x = i; y = j; z = k; }
 
 
    // Перегрузка |.   
    public static bool operator |(ThreeD op1, ThreeD op2)
    {
        if (((op1.x != 0) || (op1.y != 0) || (op1.z != 0)) | // <--------------- см. сюда.
           ((op2.x != 0) || (op2.y != 0) || (op2.z != 0)))
            return true;
        else
            return false;
    }
....
Не понятно, почему оператор ИЛИ так же не используется в укороченном варианте. Ведь по второй скобке не содержится никаких исключительных ситуаций (типа деления на 0 и т.д.). А программа могла бы работать быстрей, если бы первый операнд (1-я скобка),например, была бы True. В этом случае 2й операнд уже не вычисляется. Но в данном случае просчитываться будут обе. Почему так сделано? Просто так решил автор? Или я чего-то не вижу?Спасибо.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
03.11.2013, 16:15
Ответы с готовыми решениями:

Перегрузка конструктора (пример из книги)
Доброго времени суток! Не укладывается в голове почему результат программы: // Demonstrate invoking a constructor through this. ...

Пример из книги Шилдта. Интерфейсные свойства
Добрый вечер всем программистам. Почему при выполнении этого кода в режиме отладки выводятся совсем другие значения. using System; ...

Объясните подробней пример из книги Шилдта
using System; class RangeArray { // Закрытые данные. int а; // ссылка на базовый массив int lowerBound; // наименьший индекс int...

22
Master of Orion
Эксперт .NET
 Аватар для Psilon
6102 / 4958 / 905
Регистрация: 10.07.2011
Сообщений: 14,522
Записей в блоге: 5
03.11.2013, 20:13
Студворк — интернет-сервис помощи студентам
sergIKO, сравните
C#
1
2
3
4
int i = 0;
int a = 5, b = 5;
if (a == b || i++ > -1)
   Console.WriteLine(i);
и

C#
1
2
3
4
int i = 0;
int a = 5, b = 5;
if (a == b | i++ > -1)
   Console.WriteLine(i);
0
Эксперт .NET
 Аватар для kolorotur
17823 / 12973 / 3382
Регистрация: 17.09.2011
Сообщений: 21,261
03.11.2013, 20:13
Цитата Сообщение от sergIKO Посмотреть сообщение
если нет необходимости проверять значение второй скобки (а в данном примере ее, как раз, нет), то зачем усложнять себе жизнь и проверять ее значение принудительно?
Абсолютно незачем.

Цитата Сообщение от sergIKO Посмотреть сообщение
Ну не разумно ли тут использовать || ? Я вот про это.
Конечно разумно!

Вы абсолютно верно рассуждаете.

Вообще, если человек для логических проверок использует |, то либо в условиях два метода/свойства, которые обязательно должны отработать, либо человек мутант.
1
4 / 4 / 1
Регистрация: 20.01.2010
Сообщений: 93
03.11.2013, 20:17  [ТС]
kolorotur, Да!!!!Я это и хотел услышать. Господи, наконец-то
Спасибо всем.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
03.11.2013, 20:17

Виды линий comboBox, пример из книги не работает
Иду точно по книжке, как там делается - так и я делаю, но всё-равно ошибка. Как поправить?

Не пойму как запустить пример из книги C# 4.0 Шилдт
/* Копировать файл. Чтобы воспользоваться этой программой, укажите имена исходного и выходного файлов. Например, для...

Разобрать пример из книги. Возможно ли, что автор ошибся?
Всем привет. Ребят, разбираюсь с указателями и в одной книге подозреваю, что в примере кода ошибка в объяснении. Подскажите, пожалуйста,...

Ошибки с работой MessageBox.Show, пример из книги Стиллмен, Грин
После попытки выполнить первый же пример из книги столкнулся с проблемой. Все мои действия: 1. Проджект нью-&gt; Виндовс форм...

Вычисления Cos/Sin. Пример из книги дает другой результат
В общем проблема какая-то глупая и совсем неожиданная... Решил поизучать c#. Так как есть свободное время начал все попорядку. В...


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

Или воспользуйтесь поиском по форуму:
23
Ответ Создать тему
Новые блоги и статьи
GitHub Copilot в JetBrains: модель по умолчанию, Fix и контроль MCP
and_y87 12.10.2026
10 октября 2026 года GitHub обновил Copilot для JetBrains: добавил настройки стартовой модели, исправления из диагностики и управление автозапуском MCP. Поддержка IDE 2025. 1 прекращена — требуется. . .
День 5 из 28: Codex подсказывает следующий запрос
and_y87 12.10.2026
9 октября 2026 года OpenAI запустила бету Composer predictions — подсказок следующего сообщения в текущем диалоге Codex. Это помощь с формулировкой запроса, а не автоматическое продолжение задачи. . . .
Запустил конкурс "тем и промптов для текстовых квестов созданных почти чисто ИИ"
Adler 06.10.2026
Всем привет! За последние три-четыре дня я создал более 16 текстовых квестовых игр используя преимущественно по одному запросу к ИИ на игру. Мне так понравилось смотреть все ветки/ сцены во всех. . .
ИИ не может найти нужный язык в списке
Supersumestria 05.10.2026
Я ему даю вот такое изображение и прошу найти и подчеркнуть немецкий язык. Возвращает он вот это: https:/ / i. **********/ vqBWLe2. png Нужную строчку в 3й колонке просто выдумал. . Это. . .
Новая последняя моя музыка в SUNO
zorxor 05.10.2026
Здравствуйте, дорогие мои друзья! С большой радостью я хотел бы представить вам свою новую последнею музыку, которую сгенерировала мне по моей просьбе нейросеть SUNO. С уважением, zorxor. Это. . .
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js. В помощники взял Яндекс-Алису. Было создано три зала на разные интересы. исторические и ретро сериал Хичкок. . .
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#. Название изменил на ColorStep. Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru