首页 > 解决方案 > 在线程数组中设置线程的名称

问题描述

我无法设置线程数组对象 watek[i] 的 Name 方法的字符串值。视觉抛出异常:“System.NullReferenceException:'对象引用未设置为对象的实例。'”

            int watki;
            string watki2;

            Console.WriteLine("Ile watkow uruchomic?: ");
            watki2 = Console.ReadLine();
            watki = Convert.ToInt32(watki2);
            Thread[] watek = new Thread[watki];

        for (int i = 0; i < watki; i++)
        {

            watek[i].Name = Convert.ToString(i);

            watek[i] = new Thread(() => Program.Watek(watek[i].Name, watki));
        }

我的问题是:它甚至可能吗?如果是的话,我做错了什么?

标签: c#multithreading

解决方案


尝试这个。

在第一次实例化该对象之前,您不能在该对象上分配一个属性。

for (int i = 0; i < watki; i++)
{
    watek[i] = new Thread(() => Program.Watek(Convert.ToString(i), watki));
}

推荐阅读