我有非常简单的代码:
static void Main(string[] args)
{
var task = Task.Factory.StartNew(GetInt);
var task2 = Task.Factory.StartNew(
() =>
{
return GetInt();
});
}
static int GetInt()
{
return 64;
}
为什么第一个任务会出现编译器错误?方法签名(没有参数,返回类型是int
)是相等的,不是吗?
我知道一个解决方案(这很简单var task = Task.Factory.StartNew<int>(GetInt);
:),但我想知道上面的代码有什么问题。