await using (var streamReader = File.OpenRead(filePath))
using (var reader = new StreamReader(streamReader))
{
while ((line = await reader.ReadLineAsync()) != null)
{
// my logic
}
}
No exemplo de código acima, o compilador C# 13 sugere usar 'await using' em vez de usar para o leitor de fluxo. No entanto, o tipo de retorno de File.OpenRead() não é uma tarefa. Por quê? Eu pensei que apenas tarefas precisassem ser aguardadas.
Entendo o await para ReadLineAsync(), pois este é um método assíncrono que retorna uma tarefa. Mas não faz sentido para mim para OpenRead().