2016-12-03 39 views
0

基本上,我想在隨機位置創建一些圖像,但每種類型的圖像都必須出現偶數次。所以我使用整數數組來存儲每種圖像類型的外觀時間。問題是,運行應用程序時出現「System.IndexOutOfRange」異常。 VS的混合總是突出顯示「MangRandom」數組的行。這裏是代碼:關於整數陣列的Silverlight

int SoHinh = 0; 
    string stt = ""; 
    int[] MangRandom = new int[4]; 
    public void CreateImage() 
    { 
     Image img1 = new Image(); 
     for (int i = 0; i < MangRandom.Length; i++) 
     { 
      if (MangRandom[i] % 2 != 0) 
      { 
       rand = i; 
       break; 
      } 
      rand = GetRandInt(1, 5); 
     } 
     img1.Source = new BitmapImage(new Uri("item" + rand + ".png", UriKind.Relative)); 
     Canvas.SetLeft(img1, r.Next(0, 512)); 
     Canvas.SetTop(img1, r.Next(0, 546)); 
     if (SoHinh < 10) { stt = "0"; } else { stt = ""; } 
     img1.Name = stt + SoHinh+"item" + rand + ".png"; 
     img1.Width = 32; 
     img1.Height = 32; 
     LayoutRoot.Children.Add(img1); 
     SoHinh++; 
     MangRandom[rand] +=1; 
    } 
private void LayoutRoot_MouseLeftButtonDown(object sender, MouseButtonEventArgs e) 
    { 
     while (SoHinh <= 30) 
     { 
      CreateImage(); 

     } 
    } 

我做錯了什麼?如何解決這個問題?

+0

我自己修復了。增加MangRandom [4]至5。 –

回答

0

增加MangRandom[4]5解決了這個問題。