C# 等待任务的合适情况是什么。开始新(()=>;…)?

C# 等待任务的合适情况是什么。开始新(()=>;…)?,c#,.net,multithreading,asynchronous,async-await,C#,.net,Multithreading,Asynchronous,Async Await,我想知道是否有人能帮我找到这样代码的正确用法 var result = await Task.StartNew(() => ...); 或 或 或 有人能给我提供一个实际例子,说明这什么时候有用吗?没有 除非您确切地知道您在做什么以及为什么要这样做,否则决不能将Task.Factory.StartNew或Task.Factory.StartNew与async wait一起使用 不等待任务的结果并不意味着你不关心结果值。这意味着你不在乎它是否成功完成,甚至不在乎它是否完成。无

我想知道是否有人能帮我找到这样代码的正确用法

var result = await Task.StartNew(() => ...); 

有人能给我提供一个实际例子,说明这什么时候有用吗?

没有

除非您确切地知道您在做什么以及为什么要这样做,否则决不能将
Task.Factory.StartNew
Task.Factory.StartNew
async wait
一起使用

不等待任务的结果并不意味着你不关心结果值。这意味着你不在乎它是否成功完成,甚至不在乎它是否完成。

除非您确切地知道您在做什么以及为什么要这样做,否则决不能将
Task.Factory.StartNew
Task.Factory.StartNew
async wait
一起使用


不等待任务的结果并不意味着你不关心结果值。这意味着你不在乎它是否成功完成,甚至不在乎它是否完成。

它们看起来都很好。你所说的“适当”是什么意思?没有任务。开始新任务。你自己试试看。看看这个可能会帮助你[
wait
是一种表示“在这个结果可用之前,当前线程没有有用的工作要做”的方式。启动一个新的
任务
是一种推送工作的方式(可能)另一个线程,以便在执行该工作时不占用当前线程。我想不出很多方法来以有意义的方式将这两个概念结合在一起。它们似乎都很好。你说的“适当”是什么意思?没有什么像
Task.StartNew
。自己试试看。看看这个可能对你有帮助[
await
是一种表示“在该结果可用之前,当前线程没有有用的工作要做”的方式。启动新的
任务
是一种将工作推到(潜在的)上的方式另一个线程,以便在执行该工作时不占用当前线程。我想不出很多方法来以有意义的方式将这两个概念绑定在一起。因此,如果你确实知道你在做什么以及为什么要这样做,那么这是有用的?因此与你的第一句话相矛盾?总是,@AakashM!但你肯定会得到你想要的。所以如果你你确实知道你在做什么以及为什么要这样做,这是有用处的?因此与你的第一句话相矛盾?总是,@AakashM!但你肯定会得到你想要的。
var result = await Task<T>.StartNew(() => ...); 
await Task.StartNew(() => ...);
await Task<T>.StartNew(() => ...);
Task.StartNew(() => ...) 
Task.StartNew<T>(() => ...) 
Thread A | ----- Stuff before the Task.StartNew ---- | ---- Stuff after the Task.StartNew ------------------
Thread B | ------------ ??? ------------------------ | The () => .... inside the Task.StartNew -------------