落红护花 发表于 2021-4-17 21:33

C#变量存入数组

本帖最后由 winnie2007 于 2021-4-20 18:57 编辑

已自行解决,感谢回复{:301_975:}



现在有一个自定义的控件,用以下方法批量生成 Form1.peoplenum 个

      public static UserControl1 [] voting = new UserControl1 ;
            for (int i = 0; i < Form1.peoplenum; i++)
            {
                voting = new UserControl1();
                voting.Name = "Voting_" + i.ToString();
                voting.peoplename = namelist;
                voting.maxpeople = Form1.maxpeople;
                voting.Location = new Point(20 + (i % 4) * 50, 20 + (i / 4) * 50);
                voting.button1.Click += new EventHandler(button_Click);
                this.flowLayoutPanel1.Controls.Add(voting);
            }
在自定义控件中有一个 piao 的 int 变量,为public
但是在读取自定义控件中的piao变量存到数组 a 时(自定义控件中的piao变量已成功赋值为3)会报错“System.IndexOutOfRangeException:“索引超出了数组界限。”





以下为读取piao变量代码


                int tmp;
                int[] a = new int;
                for (int i = 0; i < Form1.maxpeople; i++)
                {
                  tmp = voting.piao;
                  a = tmp;
                }

应该是 tmp = voting.piao; 出现了错误吧,请问大佬们还有其他的方法读取或解决办法吗,解决的话可以悬赏结CB的{:301_975:}

你与良方 发表于 2021-4-17 21:48

是因为你的Form1.maxpeople和voting数组长度不一样

dunxp 发表于 2021-4-17 22:26

第二段代码本身也不对,a数组索引少一个

gsyifan 发表于 2021-4-17 22:27

不是a超出了数组界限,是voting超出了界限。

落红护花 发表于 2021-4-18 13:47

你与良方 发表于 2021-4-17 21:48
是因为你的Form1.maxpeople和voting数组长度不一样

Form1.maxpeople是int
voting是int[]

smilencetion 发表于 2021-4-19 10:31

没有理想的人 发表于 2021-4-18 15:35
楼主借楼求助一下
C#作业,完全不会救救孩子
Y1)输入一个整数,编写程序通过f..le..语句判断该数是偶数还 ...

你这个是完全没读书的啊
页: [1]
查看完整版本: C#变量存入数组