例如,我有一个玩家对象,它有一系列卡牌套装。C#,作为对象名称的一部分的变量值?
player.card[0] = "diamonds";
player.card[1] = "clubs";
player.card[2] = "spades";
etc...
也我有4个套房(pb_spades,pb_hearts米等)
的图像隐藏pictureboxes另有4个pictureboxs(pb_playerCard1,pb_playerCard2等),以我所分配的图像来自对应于玩家对象所具有的牌的隐藏pb。
为此
if (player.card[0] == "diamonds") { pb_playerCard1.Image = pb_diamonds.Image; }
当然,根IFS做这一切将需要相当长的时间......我可以以某种方式使用变量值作为对象名称的一部分?
还挺
for (int i = 1; i != 5; i++)
{
pb_playerCard+'i'.Image = pb_+'player.card[i+1]'.Image;
}
旁白:用西服,不是魔术字符串 – annakata 2010-12-21 10:08:59
这是Winforms中枚举。 – Rob 2010-12-21 10:12:10
只需创建图片框和图片的列表(或字典)即可。然后,你可以做一些事情:'playerCardPBoxes [i] .Image = cardImages [i];''i'是一个'int',以防你决定使用List或者'string'(“diamonds”,“clubs” ...)如果你决定使用字典... – digEmAll 2010-12-21 10:13:16