我是编程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会导致错误。还有另一种方法吗?
答案 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)