读取字符串列表时遇到问题,这是我的代码。
public partial class form : Form
{
public static List<String> errores = new List<String>();
private void backgroundWorker1_DoWork(object sender, DoWorkEventArgs e){
BackgroundWorker bw = sender as BackgroundWorker;
// Extract the argument.
string arg = (string)e.Argument;
// Start the time-consuming operation.
// e.Result =
if (tags.prog2(arg) == false)
{
//guardar en lista de no completadas
form.errores.Add("a");
}
//some code here
}
private void buscar()
{
//Some code here
foreach (string i in rutas)
{
backgroundWorker1 = new System.ComponentModel.BackgroundWorker();
backgroundWorker1.WorkerSupportsCancellation = true;
backgroundWorker1.DoWork += new System.ComponentModel.DoWorkEventHandler(this.backgroundWorker1_DoWork);
backgroundWorker1.RunWorkerCompleted += new System.ComponentModel.RunWorkerCompletedEventHandler(this.backgroundWorker1_RunWorkerCompleted);
backgroundWorker1.RunWorkerAsync(i);
}
foreach (string prime in form.errores)
{
MessageBox.Show(prime);
}
}
}
但是列表中没有元素,为什么会发生这种情况?
显然我调用了这两个函数
Aclaration function1它是一个backgroundWorker,所以它被调用了太多次,我不知道这是否与错误有关。