Знакомому на собеседовании дали задание, объяснить почему не работает код, в общем, собеседование он так и не прошел, а над тестовым заданием мы решили вместе посидеть, своими силами ни к какому толковому результату не пришли, может вы сможете подсказать что тут не так. Код компилируется, но ниразу не выполняется.
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 всегда будет ложно
Комментариев нет:
Отправить комментарий