如何从List <Task <Model >>获取模型列表?

upT*_*ons 0 c# linq async-await

我有这个方法:

public async void OnNavigatedTo(NavigationParameters parameters)
{
    var result = await GetMatches();
    var toList = result.OrderByDescending(p => p.CreatedAt)
        .Select(async p => new CardDataModel()
        {
            HeadTitle = await generateHeadTitle(p) ,
            HeadLines = p.Sport + " - " + p.PlayersNeeded + " players needed    @" + p.Location,
            HeadLinesDesc = p.Comment,
            ProfileImage = "Person_7.jpg"
        }).ToList();

    CardList = toList;
}
Run Code Online (Sandbox Code Playgroud)

哪个应该生成一个List但是因为我正在使用async/await我得到一个List<Task<CardDataModel>>我无法绑定到我的List属性.

任何想法如何获得所需的列表?

Tom*_*ode 7

您可以使用返回的Task.WhenAllIEnumerable<Task<T>>转换为一种Task<T[]>方式,然后您可以等待它然后ToList用来获取a List,如下所示:

CardDataModel[] modelArray = await Task.WhenAll(toList);
CardList = modelArray.ToList();
Run Code Online (Sandbox Code Playgroud)