2

我想保存我当前的数组状态,然后更改该数组,但是当我将数组保存在列表中然后更改我的数组时,列表中的数组也会更改。这是一个示例代码和我的代码的一部分:

void main()
{
    List<int[]> lisarr = new List<int[]>();
    int[] a = new int[1];
    a[0] = 1;
    lisarr.Add(a);
    a[0] = 10;
    // at this time lisarr[0] also changes
   ....
}

如果您跟踪此代码,请注意我在列表中的数组也发生了变化,但我不想要这个。我该如何解决这个问题?

4

1 回答 1

6

添加数组的副本:

List<int[]> lisarr = new List<int[]>();
int[] a = new int[1];
a[0] = 1;
lisarr.Add(a.ToArray());
a[0] = 10;
于 2013-03-07T15:37:38.273 回答