Threading.Tasks.Task’不包含’Result’的定义
所以我正在尝试学习如何用Task编程,我正在做练习:
public static int ReturnFirstResult(Func[] funcs) { Task[] tasks = new Task[funcs.Length]; for (int i = 0; i < funcs.Length; i++) { tasks[i] = CreatingTask(funcs[i]); } return Task.Factory.ContinueWhenAny(tasks, (firstTask) => { Console.WriteLine(firstTask.Result); return ***????***; }).***Result***; } private static Task CreatingTask(Func func) { return Task.Factory.StartNew(() => { return func.Invoke(); }); }
我正在给一个Funcs数组运行,ideia是返回第一个完成的func的结果。 问题是字段结果不可用…
我在这里失踪了什么?
您正在从CreatingTask
方法返回Task
– 您需要返回Task
,然后将tasks
更改为Task
而不是Task[]
。
基本上, Task
表示不产生结果的Task
– 而Task
表示产生类型T
结果的任务。 在您的情况下,代码中的所有内容都返回int
,因此您需要在任何地方使用Task
。
上述就是C#学习教程:Threading.Tasks.Task’不包含’Result’的定义分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)
本文来自网络收集,不代表计算机技术网立场,如涉及侵权请点击右边联系管理员删除。
如若转载,请注明出处:https://www.ctvol.com/cdevelopment/960835.html