我创建了一个使用属性的方法,然后将该属性插入到数组中。这个属性来自另一个类“玩家”,我试图让数组存储每个玩家的总数,但是当它增加到下一个玩家时,它会将其他玩家重置为零。
private void GetGrandTotal()
{
int[] grandTotals = new int[players.Count];
grandTotals[currentPlayerIndex] = currentPlayer.GrandTotal;
}
CurrentPlayerIndex是一个变量,它将当前玩家的索引保存在绑定列表中。
答案 0 :(得分:0)
这是因为每次调用方法时都要重新初始化数组,因此全局声明并初始化数组 ONCE ,在方法中,只需向数组中添加元素
答案 1 :(得分:0)
致电时
private void GetGrandTotal()
{
int[] grandTotals = new int[players.Count];
grandTotals[currentPlayerIndex] = currentPlayer.GrandTotal;
}
grandTotals将具有玩家数量的大小并设置当前玩家的GrandTotal。没关系。但是如果你再次打电话给你,你将失去grandTotals,因为你会得到一个新的实例,它会调整大小并设置新玩家的grandTotal。那应该是这样的;
int[] grandTotals = new int[players.Count];
private void GetGrandTotal()
{
grandTotals[currentPlayerIndex] = currentPlayer.GrandTotal;
}
因此,每次调用函数时,数组都不会有新实例。但仔细考虑这个函数的类的实例属于。如果该类有新实例,您将再次遇到此问题。
希望有所帮助。