Я пишу фрагмент кода, который использует метод .FirstOrDefaultAsync()
LINQ
. Я знаю, что обычно, если вы используете его в выражении с асинхронным методом none, который с помощью ?
впоследствии возвращает без оценки остальных вызовов метода.
Ex. Код Suedo
class Item = {
string Name
string Value
}
items = Item[]
var result = items.FirstOrDefault(item => item.Name == "Item One")?.Value;
Если list
не содержит item
с именем «Item One», то результатом будет null
и exception
не будет выброшено, потому что null
не имеет свойства Value
.
Я хочу выполнить ту же операцию асинхронно, будет ли эта работа:
list.FirstOrDefaultAsync(item => item.Name == "Item One")?
.ContinueWith(result => result.Result.Value);
Будет ли это просто возвращаться без оценки ContinueWith()
, если такой предмет не найден? Или ?
не работает таким образом асинхронно?