C # Addiert die Ergebnisse von asynchronen Methoden, wenn alle abgeschlossen sind

Ich habe eine asynchrone Methode, die ein @ bekomList<long> von Komponenten-IDs für eine Auto-ID. Ich möchte Komponenten-IDs für mehrere hundert Autos asynchron abrufen und habe die folgende Methode geschrieben. Mein Ziel ist es, die Ergebnisse von all @ tatsächlich zu addiereGetAllComponentIdsForCar Tasks, und geben Sie sie von der folgenden Methode zurück.

public async Task<List<long>> GetListOfComponentIds(List<long> carIds)
{
    List<Task> tasksList = new List<Task>();

    foreach (var carId in carIds)
    {
        Task<List<long>> getComponentIds = GetAllComponentIdsForCar(carId);
        tasksList.Add(getComponentIds);
    }

    await Task.WhenAll(tasksList);

   //List<long> sumOfAllTaskResults...or array...or something
}

Wie mache ich das?

Hinweis - Ich suche nach etwas ähnlichem wie winkliges q.all, das am Ende einfach ein Array aller Ergebnisse der Aufgabe (/ promise) zurückgibt.

Ich habe es bisher geschafft, Ergebnisse von asynchronen Tasks in C # zu erhalten, aber dazu musste ein Array die Länge der erwarteten Tasks aufweisen, und das scheint eine schreckliche Methode zu sein.

Ich habe versucht, die Dokumentation und Fragen von Microsoft hier zu lesen, aber alles, was ich sehe, sind Argumente über WaitAll im Vergleich zu WhenAll.

Bearbeiten

Antworten auf die Frage(2)

Ihre Antwort auf die Frage