如何使用不同的名称制作一定数量的变量?

P-J*_*P-J 0 c# console loops space-efficiency

我已经开始使用C#编程来开发一些控制台应用程序,我想知道如何以更有效的方式使用不同的名称来创建一定数量的变量.现在我正在做这样的事情:

for(int i=1; i<=x; i++)
    switch(i) {
        case 1:
            Player player1=new Player(i, x);
            break;
        case 2:
            Player player2=new Player(i, x);
            break;
        case 3:
            Player player3=new Player(i, x);
            break;
        case 4:
            Player player4=new Player(i, x);
            break;
        case 5:
            Player player5=new Player(i, x);
            break;
        case 6:
            Player player6=new Player(i, x);
            break;
    }
Run Code Online (Sandbox Code Playgroud)

我只是想知道是否有更有效的方法来解决这个问题以及这些方法是什么.

p.s*_*w.g 7

你最好做一个数组:

var players = new Player[x];
for (int i = 0; i < x; i++)
{
    players[i] = new Player(i, x);
}
Run Code Online (Sandbox Code Playgroud)

或使用Linq:

var players = Enumerable.Range(0, x)
                        .Select(i => new Player(i, x))
                        .ToArray();
Run Code Online (Sandbox Code Playgroud)

然后,您可以参考您创建的玩家.

var player1 = players[0]; // Note: array indexes start at 0
Run Code Online (Sandbox Code Playgroud)

当然,您可能实际上并不需要使用数组.许多其他集合类可能更适合您的问题.

进一步阅读: