我有一个大致如下所示的异步方法:
async Task<int> ParseStream()
{
var a = await reader.ReadInt32();
var b = await reader.ReadInt32();
return a + b;
}
由于数据已经准备好,此方法将在大部分时间同步工作。因此,用 ValueTask 替换返回类型以减少分配看起来是个好主意。但这调用reader.ReadInt32()
返回任务。
所以问题是:从内部等待某些任务的方法返回 ValueTask 有什么意义吗?