如果所有类别在 private void btn1234_Click()
{
var items = ListBox1.SelectedItems.Cast<string>();
backgroundWorker1.RunWorkerAsync(items);
}
private void backgroundWorker1_DoWork(object sender, DoWorkEventArgs e)
{
var worker = (BackgroundWorker)sender;
var items = (IEnumerable<string>)e.Argument;
//Long Running Process taking place here then we hit this
if (items.Contains("Firefly")) { /* take this course */ }
if (items.Contains("Hellfire")) { /* take this course */ }
}
的选定类别中存在,则会在将所有类别添加为真后添加,但它会将之前的类别结果与当前类别结合起来。我尝试过关闭,但它并没有给我新鲜的东西。 结帐fiddle。
result
上面的代码为每个结果中的所有类别提供了ticked = true的组合结果。
答案 0 :(得分:1)
您需要复制/克隆对象数组,或者您正在操作原始对象。显然有几种方法。我选择了以下内容:
var tmp = JSON.parse(JSON.stringify(allCatsResult));
这将在tmp
中创建一个新的对象数组,它将正确地修改克隆。