Re: [Этюд, C#] Ненужный null
От: ilih  
Дата: 23.12.13 20:17
Оценка:
Здравствуйте, nikov, Вы писали:

N>Это загадка, которую я недавно публиковал на Twitter и давал коллегам на работе. Пока что её отгадал только один человек — Mads Torgersen (причём почти сразу).


N>Напишите валидную C# программу, которая содержит следующую последовательность токенов:
N>? null :
N>

N>и которая остаётся валидной, если мы уберём токен null из этой последовательности, т.е. оставим
N>?      :
N>


N>
  Пояснения
N>* Валидная программа — это программа, которая компилируется без ошибок. Она может быть как приложением (.exe), так и библиотекой классов (.dll).
N>* Комментарии, части строковых литералов, имена регионов, текст в пропущенных секциях (#if false) и т.д. не являются токенами.
N>* Части токенов не являются токенами (например, символ `:` в выражении `foo::bar` или `?` в выражении `foo ?? bar` не являются токенами)
N>* Runtime поведение программы несущественно. То, что оно может измениться при удалении токена null, также несущественно.


так? или я условия неправильно понял?
class A
{
   void M1()
   {
      var a = true ? M2(null) : 0;
      var b = true ? M2() : 0;
   }

   int M2()
   {
      return 0;
   }

   int M2(Object o)
   {
      return 0;
   }
}
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.