krt*_*tek 6 .net c# multithreading task
我正在尝试在任务中运行一个函数,但我做错了什么.下面是一个例子:
var t = Task<int>.Factory.StartNew(() => GenerateResult(2));
static int GenerateResult(int i)
{
return i;
}
Run Code Online (Sandbox Code Playgroud)
最后Console.WriteLine(t);
这将返回:
System.Threading.Tasks.Task`1 [System.Int32]
我希望自己成为2.我在这里做错了什么?:/
你需要使用t.Result.
例如
Console.WriteLine(t.t.Result);
Run Code Online (Sandbox Code Playgroud)
您的代码基本上如下所示:
Task<int> t = Task<int>.Factory.StartNew(() => GenerateResult(2));
Run Code Online (Sandbox Code Playgroud)
当你写作时,你Console.WriteLine(t);实际上只是打印Task而不是打印integer.为了能够访问您需要添加的结果.Result.