基本上,我想在随机位置创建一些图像,但每种类型的图像必须出现偶数次。所以我使用整数数组来存储每种图像类型的出现时间。问题是,运行应用程序时出现“System.IndexOutOfRange”异常。 Blend for VS总是突出显示“MangRandom”数组的行。这是代码:
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 :(得分:0)
将MangRandom[4]
增加到5
解决了这个问题。