所以我正在尝试学习如何用Task编程,我正在做练习:
public static int ReturnFirstResult(Func<int>[] funcs)
{
Task[] tasks = new Task[funcs.Length];
for (int i = 0; i < funcs.Length; i++)
{
tasks[i] = CreatingTask(funcs[i]);
}
return Task<int>.Factory.ContinueWhenAny(tasks, (firstTask) =>
{
Console.WriteLine(firstTask.Result);
return ***????***;
}).***Result***;
}
private static Task CreatingTask(Func<int> func)
{
return Task<int>.Factory.StartNew(() => { return func.Invoke(); });
}
Run Code Online (Sandbox Code Playgroud)
我正在给一个Funcs数组运行,ideia是返回第一个完成func的结果.问题是字段结果不可用...
我在这里缺少什么?
可能重复:
(C#)数组,堆和堆栈以及值类型
我正在尝试研究c#中内存分配之间的一些差异
我们假设我有这个指令:
int[] array = new int[512];
Run Code Online (Sandbox Code Playgroud)
"阵列"是否会进入堆?或者它在Stack上保留512个整数?
当我添加一些约束时,例如:
create table Test(
IDTest int primary key,
Credit int not null constraint Credit check (Credit >= 0)
);
Run Code Online (Sandbox Code Playgroud)
在这种情况下是不是not null在Credit多余的,因为我加入的是一个约束Credit必须大于0?
我宣布这个类:
public class SimpleArea<T> where T: Control
{
private T control;
public SimpleArea(T control)
{
this.control = control;
}
}
Run Code Online (Sandbox Code Playgroud)
在我的主程序中,我想做这样的事情:
var SimpleAreaPanel = SimpleArea<Panel>(p => { p.Height= 150; })
Run Code Online (Sandbox Code Playgroud)
问题是他无法定义智能感知"参数??? p"的"p"类型
我怎样才能完成这个指令?