Софтуерно Инженерство
Loading...
dshadow avatar dshadow 0 Точки

Въпрос за домашно по Functional programming

Здравейте,

срещам трудности със следната задача : 

Write a simple program that reads from the console a set of numbers and prints back onto the console the smallest number from the collection. Use Func<T, T>.

Към момента успях да сътворя тази глупост:

 static void Main(string[] args)
        {

            var list = new List<int>() { 2,3,4,5,1,6,7};
            var res = PrintName(list, l => l.Min());
            Console.WriteLine(res);

        }
        public static int PrintName(List<int> list, Func<List<int>,int> func)
        {
            return func(list);
        }

но не съм сигурен това ли е целта... :)  Та въпроса е да ми дадете някакви насоки или обяснение. 

Благодаря предварително.

Тагове:
0
C# Advanced 04/08/2016 22:06:55
TanyaZheleva avatar TanyaZheleva 357 Точки

Целта ти е да използваш Func<T, TResult>, като Т е типът данни, който функцията приема, а TResult е резултата, който трябва да върне.

В случая ти подават ти масив от числа (int[]). Функцията ти трябва да приеме също масив от интове и да връща резултат int (само най-малкото число).

int[] numbers = Console.ReadLine().Split(' ').Select(int.Parse).ToArray();

 Func<int[], int> minFuncton = allNumbers => allNumbers.Min();

Console.WriteLine(minFuncton(numbers));

0