**最终,我将同时运行四个任务,并有另一个包含四个进度条的表单.我希望每个进度条都能更新,因为它的工作任务正在完成.
这就是我要为初学者做的事情.
我有一个表格上有一些按钮.当我点击一个我正在创建一个新任务来做一些工作.
public partial class MyMainForm : Form
{
private void btn_doWork_Click(object sender, EventArgs e)
{
Task task = new Task(RunComparisons);
task.Start();
}
private void RunComparisons()
{
int progressBarValue = 0;
MyProgressBarForm pBar = new MyProgressBarForm(maxValue, "some text");
pBar.ShowDialog();
foreach(string s in nodeCollection)
{
//do some work here
progressBarValue++;
pBar.updateProgressBar(progressBarValue, "some new text");
}
pBar.BeginInvoke(new Action(() => pBar.Close()));
}
}
Run Code Online (Sandbox Code Playgroud)
在另一个包含带进度条的表单的类中:
public partial class MyProgressBarForm : Form
{
public MyProgressBarForm(int maxValue, string textToDisplay)
{
InitializeComponent();
MyProgressBarControl.Maximum = maxValue;
myLabel.Text …Run Code Online (Sandbox Code Playgroud) 我已经阅读了大约30篇关于这个主题的帖子,并且认为我按照你的指示写了这封信.
这是我正在使用的课程:
public class UserID
{
public int user_id { get; set; }
public bool exists { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
我创建了两个好的列表.
List<UserID> List1 = new List<UserID>();
List<UserID> List2 = new List<UserID>();
Run Code Online (Sandbox Code Playgroud)
我已成功填充两个列表.
我正在尝试获取唯一用户ID的列表.我找到了列表的联合方法并给了它一个镜头.
List<UserID> ResultList = new List<UserID>();
ResultList = List1.Union(List2).ToList();
Run Code Online (Sandbox Code Playgroud)
这是问题所在.在此处运行的最后一行之后,ResultList只是放在一起的两个列表.
List1有{10,20,30,40} List2有{10,30,40,50,60}
我期待工会给我:
ResultList = {10,20,30,40,50,60}
但相反,它给了我:
ResultList = {10,20,30,40,10,30,40,50,60}
我究竟做错了什么?我读过很多不同的帖子都说同样的话 - 基本上就是用法.我没有正确使用它吗?我没有得到任何错误,它只是没有给我我期待的联盟.