Я пытаюсь создать метод, который создает список объектов.Объекты добавляются со значениями перечислителя.
В настоящее время у меня есть 2 счетчика: CardType, CardColor.Назначение значения CardType работает как задумано, но когда я использую точно такой же код для присвоения CardColor, он всегда возвращает одно и то же значение (красный).
Я включил оператор switch, который я уже пробовал, в форме комментария.
Класс с основным методом:
public class CardStack
{
Card CardObject;
List<Card> cardList;
public CardStack()
{
cardList = new List<Card>();
CardObject = new Card();
}
public List<Card> getCardList()
{
for(int i = 1; i <= Enum.GetNames(typeof(CardType)).Length; i++)
{
CardObject.Type = addCardType(i);
for(int n =0; n <= 3; n++)
{
CardObject.Color = addCardColor(n);
cardList.Add(CardObject);
}
CardObject = new Card();
}
return cardList;
}
public CardColor addCardColor(int colorNumber)
{
//Debug.WriteLine(colorNumber.ToString());
//switch (colorNumber)
//{
// case 0: return CardColor.Green;
// case 1: return CardColor.Blue;
// case 2: return CardColor.Yellow;
// case 3: return CardColor.Red;
// default:
// return CardColor.Yellow;
//}
return (CardColor)colorNumber;
}
public CardType addCardType(int typeNumber)
{
return (CardType)typeNumber;
}
}
Enum CardColor:
public enum CardColor
{
Green,
Blue,
Yellow,
Red
}
Enum CardType:
public enum CardType
{
One = 1,
Two = 2,
Three = 3,
Four = 4,
Five = 5,
Six = 6,
Give_2,
Take_1,
Which
}
Мой отладочный вывод (сокращен):
Type: One; Color: Red;
[0:] Type: One; Color: Red;
[0:] Type: One; Color: Red;
[0:] Type: One; Color: Red;
[0:] Type: Two; Color: Red;
[0:] Type: Two; Color: Red;
[0:] Type: Two; Color: Red;
[0:] Type: Two; Color: Red;
[0:] Type: Three; Color: Red;
[0:] Type: Three; Color: Red;
[0:] Type: Three; Color: Red;
[0:] Type: Three; Color: Red;