在 C# 中创建不同的命名变量并将 类 分配给该变量

Create different named variables and assign classes to that variable in C#

我正在尝试循环创建所有 52 张扑克牌。

像这样:

Card heart1 = new Card(1, "hearts", "hearts 1");
Card heart2 = new Card(2, "hearts", "hearts 2");

这就是我所拥有的,但我被卡住了:

string[] icon = new string[]{ "hearts", "clubs", "diamonds", "spades" };
Card[] card = new Card[13];
foreach (string i in icon)
{
     for (int j = 1; j <= 13; j++)
     {

     }
}
    

我正在尝试为每种类型的卡片创建全部 13 张卡片。我希望 de varible 与旁边带有数字的字符串具有相同的名称。

我是 C# 的新手,如果我做错了或者是否有更好的方法,请告诉我。 我知道我可以手动执行此操作,但我希望它自动执行。

C# 不支持动态命名的变量。您可以声明一个卡片数组并在循环中初始化元素,如下所示:

Card[] deck = new Card[52];
string[] suits = {"hearts", "clubs", "diamonds", "spades"};
for(int i=0; i < suits.Length; i++)
{
    for (int j = 1; j <= deck.Length/suits.Length; j++)
    {
        deck[i*j] = new Card(j, suits[i], $"{i} of {suits[i]}");
    }
}