C#初学者。我想知道在c#中是否甚至可以使用以下内容。
我有以下代码可以使用(但现在做的不多):
while (i != 10)
{
i++;
_playerCard1.Source = new BitmapImage(new Uri($"ms-appx:///Assets/card {cardsInHand[cardsInHand.Count - 1].Face}.gif"));
}
现在我的程序中有其他Image域名为_playerCard2,_playerCard3等等。我想知道的是,如果我可以让while循环使用i变量迭代不同的Image字段。像这样:
while (i != 10)
{
i++;
_playerCard{i}.Source = new BitmapImage(new Uri($"ms-appx:///Assets/card {cardsInHand[cardsInHand.Count - 1].Face}.gif"));
}
我知道上面的代码不起作用,只是想知道它是否可能,如果是这样,我将如何编码?谢谢你的帮助!
答案 0 :(得分:3)
您需要的是playerCard
的数组或列表,然后您可以迭代每个项目。例如。
//create a simple array of cards
var playerCards = new[] { _playerCard1, _playerCard2, _playerCard3 };
//iterate each card
for(var i = 0; i < playerCards.length; i++)
{
_playerCards[i].Source = new BitmapImage(new Uri($"ms-appx:///Assets/card {cardsInHand[cardsInHand.Count - 1].Face}.gif"));
}