[英]How to optimize execution time of a function that iterate multiple lists and adding them later to dictionary in C#?
[英]How to store a Task in a dictionary for later execution in C#
我正在嘗試將Task存儲在字典中,以便以后執行但沒有成功:
Dictionary<string, Task<object>> router = new Dictionary<string, Task<object>();
router["xyz"] = functionToLaterExec
async Task<string> functionToLaterExec()
{
return await Task.FromResult("Success!");
}
如果我將函數聲明為
string functionToExec()
然后我可以做:
router["xyz"] = new Task<string>(functionToExec);
但是我需要異步的功能。 而且不知道如何調用它。 我嘗試過:
var t = router["xyz"];
var data = Encoding.UTF8.GetBytes(await t);
沒有成功。
謝謝。
如果您希望以后能夠啟動異步操作,那么就不想存儲Task
,則需要存儲Func<Task>
(或者,對於您來說,是Func<Task<string>>
,這樣,當您要開始操作時,可以調用該函數,並生成一個代表其完成的Task
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.