在while循环中更改一行代码

时间:2016-08-15 00:12:14

标签: c#

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"));
        }

我知道上面的代码不起作用,只是想知道它是否可能,如果是这样,我将如何编码?谢谢你的帮助!

1 个答案:

答案 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"));
}