0
int i = 0;
int x = 10;
List<int> group = new List<int>();

while (i < x)
{
    RichTextBoxShowTafel.AppendText(Convert.ToString(group[i]));
    i++;
}

为什么这不起作用?我想显示名为“组”的列表的前 10 个数字。

编辑:我实际上想创建变量并连续打印它......

4

5 回答 5

8

您永远不会在 group 变量中放入任何内容。您只实例化了一个空列表。

你最好这样做:

foreach (int item in group)
{
  RichTextBoxShowTafel.AppendText(item.ToString());
}
于 2012-05-17T16:48:10.707 回答
2

因为组是空的?由于它没有元素,因此您无法访问 group[0],这是您在第一次迭代中所做的

于 2012-05-17T16:48:54.350 回答
1

You should add elements in the list before you try to get them. The is the reason you got ArgumentOutOfRangeException. You can avoid the exception by adding element first.

    int i = 0;
    int x = 10;
    List<int> group = new List<int>();

    while (i < x)
    {
        group.Add(i);
        RichTextBoxShowTafel.AppendText(Convert.ToString(group[i]));
        i++;
    }
于 2012-05-17T16:53:46.407 回答
1

这是因为group是空的!

当你的循环第一次执行然后i = 0你尝试Convert.ToString(groups[i])它总是会失败,因为没有0in 的索引group

于 2012-05-17T16:51:31.680 回答
0

如果您希望group填充数字,则必须自己执行此操作。声明和初始化它List<int> group = new List<int>();只会创建它。里面什么都没有。如果您想尝试将变量放入其中,可以执行以下操作:

for(int j = 0; j < 10; j++)
{
   group.Add(j);
}
于 2012-05-17T17:02:25.553 回答