2017-01-10 10 views
-3

私はこれの解決策を見つけようとしますが、私はそれを見つけることができませんでした。だから私はここで尋ねている。 :)私はタスクのリストを持つことだし、それは二つのアイテム Task.WhenAllは配列の代わりにリストを返します

List<Task<int>> tasks = new List<Task<int>>(); 
    tasks.Add(Task.FromResult(1)); 
      tasks.Add(Task.FromResult(2)); 

私はTask.WhenAll(タスク)を待つ呼び出し

を持って

、それはint型[]を返しますが、私はそれがList<int>を返す必要がありますしたいです。以下のように:

List<int> result = await Task.WhenAll(tasks); 

私は結果を得た後に新しい項目を追加したいと思います。

+0

を、あなたはそれを理由にしたいですか? –

+0

私は結果を得た後に新しい項目をリストに追加したい。 – Saadi

+0

'ToList()'コールを使って '配列'を 'List'に変換する方法、 –

答えて

8

あなたは書くことができます。

List<int> result = (await Task.WhenAll(tasks)).ToList(); 

これはリストに配列を変換します。

は、名前空間を追加することを忘れないでください:

using System.Linq; 
+0

これは '' Task.WhenAll(tasks).ToList();を試してみました。しかし、私はそのような括弧を '(Task.WhenAll(tasks))ToList();'を待っている、今働いている。ありがとう! – Saadi

+0

@Saadiあなたは 'Task.WhenAll(tasks)'の戻り値の型をチェックするためにエディタを使用しますが、ToList()を使って 'List'に変換できないTask型です。 –

関連する問題