第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

等待具有不同結(jié)果的多個任務(wù)

等待具有不同結(jié)果的多個任務(wù)

小怪獸愛吃肉 2019-10-06 11:21:29
我有3個任務(wù):private async Task<Cat> FeedCat() {}private async Task<House> SellHouse() {}private async Task<Tesla> BuyCar() {}它們都需要先運行,然后我的代碼才能繼續(xù),并且我還需要它們的結(jié)果。沒有結(jié)果有什么共同點如何調(diào)用并等待3個任務(wù)完成然后獲得結(jié)果?
查看完整描述

4 回答

?
臨摹微笑

TA貢獻1982條經(jīng)驗 獲得超2個贊

使用完后WhenAll,您可以使用以下命令分別提取結(jié)果await:


var catTask = FeedCat();

var houseTask = SellHouse();

var carTask = BuyCar();


await Task.WhenAll(catTask, houseTask, carTask);


var cat = await catTask;

var house = await houseTask;

var car = await carTask;

您也可以使用Task.Result(因為到目前為止,您已經(jīng)知道它們都已成功完成)。但是,我建議使用,await因為它顯然是正確的,而Result在其他情況下可能會引起問題。


查看完整回答
反對 回復(fù) 2019-10-06
?
呼如林

TA貢獻1798條經(jīng)驗 獲得超3個贊

await全部啟動后,僅將三個任務(wù)分開。


var catTask = FeedCat();

var houseTask = SellHouse();

var carTask = BuyCar();


var cat = await catTask;

var house = await houseTask;

var car = await carTask;


查看完整回答
反對 回復(fù) 2019-10-06
?
烙印99

TA貢獻1829條經(jīng)驗 獲得超13個贊

如果您使用的是C#7,則可以使用這樣的便捷包裝方法...


public static class TaskEx

{

    public static async Task<(T1, T2)> WhenAll<T1, T2>(Task<T1> task1, Task<T2> task2)

    {

        await Task.WhenAll(task1, task2);

        return (task1.Result, task2.Result);

    }

}

...當(dāng)您想等待具有不同返回類型的多個任務(wù)時啟用類似的方便語法。當(dāng)然,您必須為等待不同數(shù)量的任務(wù)進行多次重載。


var (someInt, someString) = await TaskEx.WhenAll(GetIntAsync(), GetStringAsync());


查看完整回答
反對 回復(fù) 2019-10-06
?
慕斯王

TA貢獻1864條經(jīng)驗 獲得超2個贊

您可以將它們存儲在任務(wù)中,然后等待它們:


var catTask = FeedCat();

var houseTask = SellHouse();

var carTask = BuyCar();


await Task.WhenAll(catTask, houseTask, carTask);


Cat cat = await catTask;

House house = await houseTask;

Car car = await carTask;


查看完整回答
反對 回復(fù) 2019-10-06
  • 4 回答
  • 0 關(guān)注
  • 481 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號