Страницы

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

понедельник, 10 февраля 2020 г.

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

#c_sharp


        
             
                
                    
                        
                            Закрыт. Этот вопрос не по теме. Ответы на него в данный
момент не принимаются.
                            
                        
                    
                
                            
                                
                
                        
                            
                        
                    
                        
                            Хотите улучшить этот вопрос? Переформулируйте вопрос,
чтобы он соответствовал тематике «Stack Overflow на русском».
                        
                        Закрыт 3 года назад.
                                                                                
           
                
        
Знакомому на собеседовании дали задание, объяснить почему не работает код, в общем,
собеседование он так и не прошел, а над тестовым заданием мы решили вместе посидеть,
своими силами ни к какому толковому результату не пришли, может вы сможете подсказать
что тут не так. Код компилируется, но ниразу не выполняется.

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;
                        }
                    )
                );
            }
        });

    


Ответы

Ответ 1



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

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

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