Страницы

Поиск по вопросам

суббота, 20 апреля 2019 г.

Задание с собеседования - объяснить почему не работает код [закрыт]

Знакомому на собеседовании дали задание, объяснить почему не работает код, в общем, собеседование он так и не прошел, а над тестовым заданием мы решили вместе посидеть, своими силами ни к какому толковому результату не пришли, может вы сможете подсказать что тут не так. Код компилируется, но ниразу не выполняется.
class MiddleTask { delegate bool Comparer(int a, int b); delegate void Executer(string message); static int MaxValue(int a, int b, Comparer comp) { return comp(a, b) ? a : b; } static void TExecute(int cicle, Executer method) { var inc = 0; while (inc <--cicle) { method("Execute method-comparer"); } }
static void Main(string[] args) { Trace.WriteLine("Entry point..."); TExecute(3, (dy) => { var targetRangeModel = new { range = 0, comparerPrefix = "Compare result:" };
var index = 0; var target = 20;
while (index-- > targetRangeModel.range && target-- > index) { Trace.WriteLine(targetRangeModel.comparerPrefix + ">>>" + MaxValue(22, 15, (x, y) => { return (x > y) ? true : false; } ) ); } });


Ответ

У вас ни разу не выполняется цикл
while (index-- > targetRangeModel.range && target-- > index)
Т.к. условие index-- > targetRangeModel.range всегда будет ложно

Комментариев нет:

Отправить комментарий