Си диез / Говнокод #173 Ссылка на оригинал

0

  1. 1
  2. 2
if (a == null == false) {
}

когда проверял чужой код пол часа смотрел пока понял что чувак просто не умеет писать if (а != null)

Запостил: guest guest, (Updated )

Комментарии (30) RSS

  • страйко:
    и такая конструкция эквивалентна a != null в C#?
    Автор просто гений с хорошей фантазией О_о
    Ответить
  • anmiles:
    тем, что а может быть пустой и не нуллом одновременно
    Ответить
  • Slava:
    [quote=Говногость]а чем if(a){} плохо? [/quote]
    Тем, что это не C++. В C# в условии может стоять только булевское выражение, здесь нельзя проверить ноль/не ноль как в C++.
    Ну и так, к слову, булевская переменная в C# никогда не равна наллу, так как это значимый тип
    Ответить
  • !00b:
    Наследие индусского менеджмента... старался кодгарда не обидеть)
    Ответить
  • nike-17:
    да вы нах зажрались все.Читаемо и работает=))
    Весь код говно.Вопрос лишь блядь в силе вони.Как по мне так если работает и читаемо так и похуй как.и кто бля сказал что так именно правильнл а не иначе.???
    Ответить
      • Гейт в 30 лет стал миллионером, а в 31 уже миллиардером, а чего ты добился %username%?
        Ответить
        • Гейтс просто был в нужном месте в нужное время, как то поймал волну расцвета персональных ПК

          имхо ему просто повезло, особых дарований не имеет
          Ответить
        • такое уже не повторить, по крайней мере в отношении софта
          Ответить
    • Таких как ты к нормальным проектам вообще нельзя подпускать
      Ответить
  • А если так посмотреть:
    bool? a = null;
    if (a == null == false)
    {}
    Ответить
  • " пол часа смотрел пока понял "

    Так ты тоже говнокодер, пол часа чтобы понять приоритет операций =\
    Ответить
    • долбоёб, при чем тут приоритет? написали такое говно - вообще не надо смотреть
      Ответить
  • Стоп. По приоритету операций сначало вычислится же:
    null == false?
    Ответить
    • Неа:

      When an operand occurs between two operators with the same precedence, the associativity of the operators controls the order in which the operations are performed:

      1) Except for the assignment operators, all binary operators are left-associative, meaning that operations are performed from left to right. For example, x+y+z is evaluated as (x+y)+z.
      Ответить
    • Вернее так
      static Predicate<T> Not<T>(Predicate<T> predicate) {
           return a => !predicate(a);
      }
      ....
      Expression<Func<ProductEntity,Object>> predicate = (a => a == null);
      q.Where(Not(predicate));
      Ответить
  • И, кстати, вполне прокатит, даже Resharper не выдаст предупреждения.
    Ответить

Добавить комментарий

Семь раз отмерь — один отрежь, guest!

    А не использовать ли нам bbcode?


    8