Здравствуйте, Kaifa, Вы писали:
K>Дали тесты на внимательность (как я понял) на листочке (с чем у меня всегда были проблемы и я всегда перекладывал это на компилятор и дебагер
)
K>Дал вопрос. код такой:
K>K> static void A()
K> {
K> Console.WriteLine("A");
K> }
K> static void B()
K> {
K> Console.WriteLine("B");
K> }
K> static void Main(string[] args)
K> {
K> bool flag = false;
K> Console.WriteLine(flag ? A() : B());
K>
1. Что сразу бросается в глаза при проверке правильности этого кода: нет смысла ДВАЖДЫ использовать WriteLine и в главной функции и в A и B
2. Обычно тернарный оператор используют в таком виде C= (условие)? если True то А : если False то В
3. В сишных языках (С/С++) false = 0,а вот True = любое не нулевое значение.
4. Скажите а в последней строке что должен сделать компилятор: вычислить значение A/B или выполнить функции A/B??
5. Скажите, идентификатор flag, точнее строчка — это объявление и инициализация переменной или константы? Если это константа то компилятор скорее всего превратит последующую строчку в WriteLine(B())
Я бы сказал интервьюеру всего два слова: ЭТО ГОВНОКОД!