Dot*_*Dot 1 c# multithreading task
当我写下面的代码时:
Task<string> task = Task.Factory.StartNew<string>(() => "first task")
.ContinueWith(t =>
{
Console.WriteLine(t.Result);
Console.WriteLine("second task");
});
Run Code Online (Sandbox Code Playgroud)
那是错的!
然后我把它改成这个:
var task = Task.Factory.StartNew<string>(() => "first task")
.ContinueWith(t =>
{
Console.WriteLine(t.Result);
Console.WriteLine("second task");
});
Run Code Online (Sandbox Code Playgroud)
一切都好!
为什么?
"任务任务"和"var任务"之间有什么不同?
你的代码行返回一个Task
而不是一个Task<string>
对象,因为你写的ContinueWith
不是ContinueWith<string>
.
一个可以在将来帮助您的提示:当您var
在变量声明中替换类型时,可以将鼠标移到var
Visual Studio中的关键字上,弹出窗口将显示代码中var
隐藏的实际类型.
归档时间: |
|
查看次数: |
1079 次 |
最近记录: |