Ich bekomme nicht, wie man zwei Liste erzeugende Aufgaben in eine allgemeine Liste kombiniert. Der folgende Code ist unvollständig und/oder falsch, aber ich denke, dass ich mein Dilemma überwinden werde. Die OrderFactory fordert Daten von einem Internet-Server an. Jede OrderFactory wird zu einem späteren Zeitpunkt und unabhängig von einer anderen OrderFactory fertiggestellt. Wie können die von jeder Aufgabe zurückgegebenen Listenaufträge in einer Liste zusammengefasst werden? Beide Aufgaben sollen zusammen starten, kehren aber zu einem anderen Zeitpunkt zurück.Wie man mehrere Listen asynchron kombiniert
TIA
private async Task<List<Orders>> GetReturnToOfficeOrdersAsync(PatientService patient)
{
var orders = new List<Orders>();
var x = await OrderFactory.CreateOrders(OrderType.RETURNTOOFFICE, patient);
orders.AddRange(x);
return orders;
}
private async Task<List<Orders>> GetProceduresAsync(PatientService patient)
{
var orders = new List<Orders>();
var x = await OrderFactory.CreateOrders(OrderType.PROCEDURE, patient);
orders.AddRange(x);
return orders;
}
private async Task GetInCompleteOrderListAsync()
{
if (patient == null) return;
var orders = new List<Orders>();
*** THE LISTS FROM THESE TASKS NEED TO BE COMBINED INTO ONE LIST -- HOW???
var a = GetReturnToOfficeOrdersAsync(patient);
var b = GetProceduresAsync(patient);
await Task.WhenAll(a, b);
orders = orders.OrderByDescending(o => o.torder).ToList();
IncompleteOrders = new ObservableCollection<Orders>(orders);
}
Was mit einfach falsch 'orders.AddRange (a.Result); orders.AddRange (b.Result); '? –
@SamiKuhmonnen Ugh. Nichts. Auch gefunden Antwort unter http://stackoverflow.com/questions/17197699/awaiting-multiple-tasks-with-difference-results. Vielen Dank. –
Da bei der Kombination von zwei oder mehr Listen nichts asynchron ist, gelten Standardansätze für Kombinationslisten (daher duplizieren). Um die Ergebnisse mehrerer asynchroner Operationen zu erhalten, verwenden Sie den Link @AlanWayne http://stackoverflow.com/questions/17197699/waaiting-multiple-tasks-with-difference-results. –