返回值
问题描述:
我要输出到显示为“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);
}
}
}
答
要封装的方法当您将其声明为Func
时,当您致电ten
时,它尚未调用。
为了执行它,你必须使用.Invoke()
Console.WriteLine(ten.Invoke());
或者使用委托实例
Console.WriteLine(ten());
答
尝试
Console.WriteLine(ten()):
正在打印的Func
对象的字符串表示。 但你必须使用()
答
十是Func键调用它,所以如果你想看到“10”,你需要调用它像ten.Invoke()
十是一个功能,那就是为什么你不见10 – Sasha