2016-12-03 2 views
0

В принципе, я хочу создать некоторые изображения в случайном положении, но каждый тип изображения должен появляться четное количество раз. Поэтому я использую целочисленный массив для хранения времени появления каждого типа изображения. Проблема в том, что при запуске приложения я получил исключение «System.IndexOutOfRange». Blend для 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 решило проблему.

 Смежные вопросы

  • Нет связанных вопросов^_^