2016-08-15 42 views
0

C#初學者在這裏。我想知道是否在c#中以下是可能的。在while循環中更改一行代碼

我有下面的代碼工作(但沒有做太多截至目前):

while (i != 10) 
     { 
      i++; 
      _playerCard1.Source = new BitmapImage(new Uri($"ms-appx:///Assets/card {cardsInHand[cardsInHand.Count - 1].Face}.gif")); 
     } 

現在我有其他的像場在我命名_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")); 
     } 

我知道上面的代碼將無法正常工作,只是想知道如果它甚至是可能的,如果是的話我將如何代碼呢?謝謝你的幫助!

回答

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

非常感謝!這工作! – Zink