2015-05-29 4 views
0

Я пытаюсь создать список массивов, но каждый раз, когда я добавляю новый массив в цикле, он переопределяет значения других массивов в списке.Добавление массивов классов в список массивов классов в C#

int p = 5; 

for (int j = 1; j < numComputerHands; j++) 
{ 
    int i = 0; 

    while (i < 5) 
    { 
     computerHand[i] = getDeck[p]; 
     p++; 
     i++; 
    } 

    allComputerHands.Add(computerHand); 
} 

ответ

0

Каждый раз, когда вы звоните Add(), вы просто добавить еще одну ссылку на тот же экземпляр массива. В конце концов, у вас есть numComputerHands количество ссылок на один и тот же массив в вашем списке.

Вам нужно будет создать новый экземпляр в начале каждой итерации.

Я не уверен, какой тип computerHand есть, поэтому я сделаю его массивом int ниже.

int p = 5; 

for (int j = 1; j < numComputerHands; j++) 
{ 
    computerHand = new int[5]; // change 'int' as needed 

    int i = 0; 

    while (i < 5) 
    { 
     computerHand[i] = getDeck[p]; 
     p++; 
     i++; 
    } 

    allComputerHands.Add(computerHand); 
} 
Смежные вопросы