C# 设置线程数组中线程的名称
我无法设置线程数组对象watek[I]的Name方法的字符串值。Visual抛出一个exeption:“System.NullReferenceException:'对象引用未设置为对象的实例'。”C# 设置线程数组中线程的名称,c#,multithreading,C#,Multithreading,我无法设置线程数组对象watek[I]的Name方法的字符串值。Visual抛出一个exeption:“System.NullReferenceException:'对象引用未设置为对象的实例'。” intwatki; 串watki2; Console.WriteLine(“Ile watkow Urucomic?:”); watki2=Console.ReadLine(); watki=转换为32(watki2); 线程[]watek=新线程[watki]; 对于(int i=0;iProgr
intwatki;
串watki2;
Console.WriteLine(“Ile watkow Urucomic?:”);
watki2=Console.ReadLine();
watki=转换为32(watki2);
线程[]watek=新线程[watki];
对于(int i=0;iProgram.watek(watek[i].Name,watki));
}
我的问题是:这可能吗?如果是,我做错了什么?试试这个
在第一次实例化对象之前,不能为该对象分配属性
for (int i = 0; i < watki; i++)
{
watek[i] = new Thread(() => Program.Watek(Convert.ToString(i), watki));
}
for(int i=0;iProgram.watek(Convert.ToString(i),watki));
}
使用对象初始化:
for (int i = 0; i < watki; i++)
{
string name = i.ToString();
watek[i] = new Thread(() => Program.Watek(name, watki)) { Name = name };
}
for(int i=0;iProgram.watek(name,watki)){name=name};
}
您正在创建一个长度为watki
的数组,然后在创建新线程之前尝试分配名称。尝试翻转for循环中的两行-创建线程,然后为其指定名称。
for (int i = 0; i < watki; i++)
{
string name = i.ToString();
watek[i] = new Thread(() => Program.Watek(name, watki)) { Name = name };
}