В принципе, я хочу создать некоторые изображения в случайном положении, но каждый тип изображения должен появляться четное количество раз. Поэтому я использую целочисленный массив для хранения времени появления каждого типа изображения. Проблема в том, что при запуске приложения я получил исключение «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();
}
}
Я делаю что-то неправильно? Как решить эту проблему?
Я сам его исправил. Увеличен MangRandom [4] до 5. –