gpt4 book ai didi

c# 在执行之前构建任务列表

转载 作者:太空狗 更新时间:2023-10-29 17:30:52 24 4
gpt4 key购买 nike

我正在尝试在执行任务之前构建任务列表。这是一些示例代码:

    public string Returnastring(string b)
{
return b;
}

public string Returnanotherstring(string a)
{
return a;
}


private void btnT_Click(object sender, EventArgs e)
{
bool cont = true;

var Returnastringtask = Task.Factory.StartNew(() => Returnastring("hi"));
var Returnanotherstringtask = Task.Factory.StartNew(() => Returnanotherstring("bye"));

if (cont)
{
Task.WaitAll(new Task[] { Returnastringtask });
}
else
{
Task.WaitAll(new Task[] { Returnanotherstringtask });
}

我知道这段代码并不像我期望的那样运行,因为这两个任务都在运行。我想基本上最初创建任务,然后根据 bool 执行一个或另一个。我不想在 true 或 false 条件下创建任务,因为我想避免代码复制。我的意思是,如果 cont 为真,我可能想运行任务 1、2、3、4,但如果 cont 为假,我可能想运行任务 2、3、7、8。

最佳答案

嗯,另一种方法,(我觉得很直接)

        var list = new List<Task>();
for (var i = 0; i < 10; ++i)
{
var i2 = i;
var t = new Task(() =>
{
Thread.Sleep(100);
Console.WriteLine(i2);
});
list.Add(t);
t.Start();
}

Task.WaitAll(list.ToArray());

关于c# 在执行之前构建任务列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22377533/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com