Вызов
Учитывая следующий метод C #:
private static bool Test(bool a, bool b)
{
if (a && b) return false;
if (a) if (b) return true;
return false;
}
Укажите значения a
и b
так, чтобы они true
возвращались.
Выигрышное условие
Первая запись, которая может предоставить правильные аргументы, чтобы заставить данный метод оценивать, true
выигрывает.
programming-puzzle
c#
актер
источник
источник
Ответы:
Это печатается
True
для меня с реализацией C #, которая поставляется с Visual Studio 2015. Я на самом деле не знаю никакого C #, но я решил, что попробую написать код на C и посмотреть, сработает ли он. Я надеялся, что компилятор предположит, что True всегда представлен как 1, и использует побитовое AND. В режиме отладки это действительно так (он работал и с Release). Он использует побитовое И для первого условия и два сравнения с нулем для второго:источник