And*_*ndy 16 c# asynchronous task-parallel-library valuetask
我正在实施IAsyncDisposable这要求我返回 a ValueTask,但有时我的 dispose 方法无关。在这种情况下我应该如何返回?
目前我正在返回new ValueTask(Task.CompletedTask)这似乎有效,但由于 valueTasks 的目的是避免创建不必要的堆对象,我相信应该有一种更简单、更有效的方法。
The*_*ias 23
所有结构都有一个默认构造函数。ValueTask创建一个 Completed的默认构造函数ValueTask:
var completedValueTask = new ValueTask();
Run Code Online (Sandbox Code Playgroud)
或者:
ValueTask completedValueTask = default;
Run Code Online (Sandbox Code Playgroud)
更新:在官方文档已经更新了以下注意事项:
使用无参数构造函数或通过
default(ValueTask)语法(零初始化结构)创建的实例表示同步成功完成的操作。
| 归档时间: |
|
| 查看次数: |
1582 次 |
| 最近记录: |