Csharp/C#教程:Threading.Tasks.Task’不包含’Result’的定义分享


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

(0)
上一篇 2021年11月25日
下一篇 2021年11月25日

精彩推荐