在C#中向数组添加元素

时间:2012-01-23 02:06:19

标签: c#

我是编程c#的新手,我想在数组中添加一个元素。

这是我的功能:

public bool AddPlayer(string PlayerName,string token)
{
    static int i = 0;  // <---- Error

    if ( PlayerIndex < MAX_NUMBER_OF_PLAYERS )
    {          
        Player[i]= PlayerName
        i++;
    }

    return true;
} 

static int i = 0会导致错误。还有另一种方法吗?

6 个答案:

答案 0 :(得分:3)

听起来你真的不知道你将要存储多少玩家(最多)。在这种情况下,您应该使用List<string>来存储您的玩家名称,这些名称会调整大小以适应任意数量的玩家:

private List<string> players = new List<string>();

public void AddPlayer(string playerName,string token)
{
   players.Add(playerName);
}

答案 1 :(得分:1)

如果你使用List而不是数组....(它更有可能是List会更好地为你服务)

你可以去Player.Add(PlayerName);

例如

var players = new List<string>();

players.Add("bob");
players.Add("mary);

但很可能你会想要一个玩家类,所以你可以添加关于&#34;玩家&#34;的其他有趣的信息。

class Player
{
    public string Name { get; set; }
}

然后

var players = new List<Player>();

players.Add(new Player() { Name = "bob" });
players.Add(new Player() { Name = "mary" });

答案 2 :(得分:1)

通常的方法是使用List,而不是数组。但是,假设您不能这样做,您应该使索引成为类的(非静态)成员,并在构造函数中将其初始化为0.

答案 3 :(得分:0)

您需要使i成为静态类成员,而不是方法中的局部变量。你可能也希望给它一个更有意义的名字。

答案 4 :(得分:0)

如果您确实需要一个静态变量,那么您需要在方法的 之外和类定义中定义它。

static int i = 0;

public bool AddPlayer(string playerName, string token)
{
    // method implementation here...
}

答案 5 :(得分:0)

您可以将“i”更改为静态类成员,也可以将该函数更改为静态方法

public static bool AddPlayer(string PlayerName,string token)