Return 值未显示
Return value is not shown
我希望输出显示为“10”,但下面的代码输出“System.Func'1[System.Int32]
”
return“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);
}
}
}
尝试
Console.WriteLine(ten()):
您正在打印 Func
对象的字符串表示形式。
但是你必须使用 ()
调用它
Ten 是一个 Func,所以如果你想看到“10”,你需要像 ten.Invoke()
那样调用它
声明为Func
时,您正在封装该方法,当您调用ten
时,它尚未被调用。
为了执行它,你必须使用.Invoke()
Console.WriteLine(ten.Invoke());
或使用委托实例
Console.WriteLine(ten());
我希望输出显示为“10”,但下面的代码输出“System.Func'1[System.Int32]
”
return“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);
}
}
}
尝试
Console.WriteLine(ten()):
您正在打印 Func
对象的字符串表示形式。
但是你必须使用 ()
Ten 是一个 Func,所以如果你想看到“10”,你需要像 ten.Invoke()
那样调用它声明为Func
时,您正在封装该方法,当您调用ten
时,它尚未被调用。
为了执行它,你必须使用.Invoke()
Console.WriteLine(ten.Invoke());
或使用委托实例
Console.WriteLine(ten());