static void Main(string[] args)
{
for (int i = 0; i < int.MaxValue; i++)
{
client client[i] = new client();
}
}
我需要让循环添加一个自动变量,并在每个循环中声明。该变量将被称为client1
然后client2
等。或者是否有更好的方法来循环方法?
答案 0 :(得分:1)
为什么不使用List<clinet>
代替为n次迭代创建n个变量:
var clients = new List<client>();
for (int i = 0; i < int.MaxValue; i++)
{
clients.Add(new client());
}
甚至更简单:
var clients = Enumerable.Range(0, int.MaxValue).Select(x => new client()).ToList();
或者更简单:
var clients = Enumerable.Repeat(new client(), int.MaxValue);
现在您可以通过索引访问任何client
,例如:
client c = clients[0];
无论如何要知道您正在创建int.MaxValue
个client
个实例。取决于client
正在燃烧你的记忆。
注意:请考虑命名约定,例如:通过调用类似客户端类UpperCase
的类:Client
。
答案 1 :(得分:0)
如果您确实需要访问所有变量,@ HimBromBeere是正确的。但是,例如,如果您在Client
类中有静态字段并且只需要当前变量,则可以执行以下操作:
while(true) { var c = new Client(); }
在这种情况下,您可以检查当前状态。例如:c.Name;
将为您提供有关客户端的信息,该客户端在当前迭代中处理。如果您为每个客户完成所有员工,并且不再需要存储有关其他客户的信息,它将会起作用。
<强>更新强>
我的回答含糊不清。我的意思是Client
构造函数可以执行以下操作:
class Client {
static int count = 0;
public string Name { get; set; }
public Client() {
Name = string.Format("client{0}", count++);
}
}
在这种情况下,类具有静态count
,这表示我们拥有多少客户端。我们在代码中没有使用它,但我们可以通过他的名字使用当前客户端来理解它。