我想在一個回圈中創建所有 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 變數與旁邊帶有數字的字串具有相同的名稱。
我是 C# 的新手,所以如果我做錯了,或者是否有更好的方法來做到這一點,請告訴我。我知道我可以手動完成,但我希望它自動完成。
uj5u.com熱心網友回復:
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]}");
}
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/429390.html
