Ram*_*esh 1 c# asynchronous synchronous async-await
下面两行有什么区别。
await SkillReporterDatabase.Database.SaveAsync(someObject);
_ = SkillReporterDatabase.Database.SaveAsync(someObject);
Run Code Online (Sandbox Code Playgroud)
哪一个是首选?有时当我遇到等待的问题时,我使用 _ = 并解决了问题。我在网上看不到任何资源来解释这两者之间的区别。
的区别是,丢弃(_)不关心会发生什么SaveAsync,一旦它变成异步的,它可能不会做的; 这有两个重要的副作用:
Database,您可能会在单个上下文/连接上运行重叠操作,这通常不是受支持的场景所以在这种情况下,await可能是首选。有是时候,它是确定丢弃的任务,但是当你开始有后台的东西,通常意味着没有进一步的互动与当前的流动。