【问题标题】:Iterating the assignment of a variable's name迭代变量名的赋值
【发布时间】:2025-11-22 22:20:03
【问题描述】:

所以这是我一直想知道的事情..

假设我想要 10 个线程,称为 t1 t2 t3 等...但我不想写

Thread t1 = new Thread(run);
Thread t2 = new Thread(run);
Thread t3 = new Thread(run);
...

类似这样的:(伪代码)

for(int i = 0; i <= 10; i++){
    Thread t + i = new Thread(run);
}

有什么办法吗?

提前致谢。

编辑:好的,这基本上就是我想做的:

    static void Main(string[] args)
    {
        int n = 0;
        Program p = new Program();
        List<Thread> threads = new List<Thread>();

        for(int i = 0; i <= 10; i++)
        {
            threads.Add(new Thread(p.run));
        }

        foreach(Thread t in threads)
        {
            n++;
            t.Name = "Thread " + n;
            t.IsBackground = true;
            t.Start();
        }

        Console.ReadKey(false);
    }

谢谢大家!

【问题讨论】:

  • 最终目标是什么?就为了有 10 个线程?
  • 这就是数组和 List 存在的原因。

标签: c# variables variable-assignment


【解决方案1】:

不,这是不可能的。为什么不只是这个?

for(int i = 0; i <= 10; i++){
    new Thread(run);
}

如果你真的想保留对每个线程的引用,你可以将它们存储在一个列表中。

【讨论】:

  • 嗯...我想这会起作用,同时在迭代时将每个都添加到列表中...好的,谢谢!
最近更新 更多