如何使异步任务列表向 Observable 集合添加元素?

How to make a List of Async Tasks add elements to an Observable Collection?

我正在尝试将以下方法并行转换为 运行:

List<(DateTime start, DateTime end)> dates = CreateDateListTuple();

foreach ((DateTime start, DateTime end) date in dates)
        {
            dBInfos.Add(await GetDBInfo(date.start, date.end));
        }

我试图尝试的是首先创建任务列表:

List<Task<DBInfo>> parallelTasks = new List<Task<>>;

foreach((DateTime start,DateTime end) date in dates)
        {
            parallelTasks.Add(GetDBInfo(date.start, date.end));
        }

然后运行并行处理这些任务:

var continuation = await Task.WhenAll(parallelTasks.ToArray());
continuation.Wait();

然后将结果添加到集合中:

foreach (var result in continuation.Result)
        {
            dBInfos.Add(result);
        }

发生了什么,程序在

continuation.Wait();

命令,没有抛出任何异常。实施可能有什么问题?

问题已通过将代码末尾重写为:

解决
        DBInfo[] continuation = await Task.WhenAll(parallelTasks.ToArray());

        foreach (DBInfo result in continuation)
        {
            dBInfos.Add(result);
        }