数组保持重置为零

时间:2016-06-04 09:54:33

标签: c# arrays class

我创建了一个使用属性的方法,然后将该属性插入到数组中。这个属性来自另一个类“玩家”,我试图让数组存储每个玩家的总数,但是当它增加到下一个玩家时,它会将其他玩家重置为零。

private void GetGrandTotal()
{
    int[] grandTotals = new int[players.Count];
    grandTotals[currentPlayerIndex] = currentPlayer.GrandTotal;
}

CurrentPlayerIndex是一个变量,它将当前玩家的索引保存在绑定列表中。

2 个答案:

答案 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;
    }

因此,每次调用函数时,数组都不会有新实例。但仔细考虑这个函数的类的实例属于。如果该类有新实例,您将再次遇到此问题。

希望有所帮助。