Возвращаемое значение не отображается



Я хочу, чтобы выходные данные были показаны как "10", но ниже выходных данных кода"System.Func'1[System.Int32]"



Разве функция не возвращает "10"? Почему это не отображается?



using System;

namespace ConsoleApplication
{
class Program
{
public int Get10()
{
return 10;
}

static void Main(string[] args)
{
var ten=new Func<int>(new Program().Get10);
Console.WriteLine(ten);
}
}
}
489   3  

3 ответов:

Вы инкапсулируете метод, когда вы объявили его как Func, когда вы вызываете ten, он еще не вызван.

Для его выполнения необходимо использовать .Invoke()

Console.WriteLine(ten.Invoke());

Или использовать экземпляр делегата

Console.WriteLine(ten());

Https://dotnetfiddle.net/d2mPPz

Попробуйте

Console.WriteLine(ten()):

Вы печатаете строковое представление объекта Func. Но вы должны вызвать его, используя ()

Ten-это функция, поэтому, если вы хотите увидеть "10", вам нужно вызвать его как ten.Вызвать()

Comments

    Ничего не найдено.