关于整数数组的Silverlight

时间:2016-12-03 13:08:14

标签: c# silverlight

基本上,我想在随机位置创建一些图像,但每种类型的图像必须出现偶数次。所以我使用整数数组来存储每种图像类型的出现时间。问题是,运行应用程序时出现“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();

        }
    }

我做错了吗?如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

MangRandom[4]增加到5解决了这个问题。