Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/298.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 将列表数据传输到另一个列表而不获取(收集)C_C#_List_Arraylist - Fatal编程技术网

C# 将列表数据传输到另一个列表而不获取(收集)C

C# 将列表数据传输到另一个列表而不获取(收集)C,c#,list,arraylist,C#,List,Arraylist,我试图生成6个随机数并将它们存储在一个列表中,然后在另一个列表中显示这些列表项 到目前为止我有 Random random_generator = new Random(DateTime.Now.Millisecond); int random_numbers; List<int> lst_numbers = new List<int>(); lst_display.Items.Clear();

我试图生成6个随机数并将它们存储在一个列表中,然后在另一个列表中显示这些列表项 到目前为止我有

        Random random_generator = new Random(DateTime.Now.Millisecond);

        int random_numbers;

        List<int> lst_numbers = new List<int>();

        lst_display.Items.Clear();

        while (lst_numbers.Count < 6)
        {
            random_numbers = random_generator.Next(1,45);
            if (!lst_numbers.Contains(random_numbers))
            {
                lst_numbers.Add(random_numbers);
            }
            else
            {

            }
            lst_display.Items.Add(lst_numbers);
虽然它以集合而不是实际存储的数字结束

这是最终的工作代码


}下面的代码是否解决了您的问题?请让我知道。谢谢

            Random random_generator = new Random(DateTime.Now.Millisecond);

            int random_numbers;

            List<int> lst_numbers = new List<int>();
            List<int> lst_display = new List<int>();

            while (lst_numbers.Count < 6)
            {
                random_numbers = random_generator.Next(1, 45);
                if (!lst_numbers.Contains(random_numbers))
                {
                    lst_numbers.Add(random_numbers);
                }
            };

            lst_display.AddRange(lst_numbers);
while循环中的这一行您缺少一个右括号是罪魁祸首:

lst_display.Items.Add(lst_numbers);
您正在将整个集合添加到lst_display.Items,并且每次迭代都要执行一次

或者将该行代码保留在循环中,但只添加当前随机生成的数字:

lst_display.Items.Add(random_numbers);
或者在while循环完成后,将其移动到循环外部,并添加集合一次。Items属性是ObjectCollection,因此如果执行以下操作,则需要强制转换到对象数组:

while (...)
{
    ...
}
lst_display.Items.AddRange(lst_numbers.Cast<object>().ToArray());

为什么不把数字直接加到第二个列表中呢?我必须把6个项目列出来,然后在新列表的一行上显示它们似乎可以接受代码,但我的表单上没有输出如果我想说5行,每行6个随机数,我该怎么做?
while (...)
{
    ...
}
lst_display.Items.AddRange(lst_numbers.Cast<object>().ToArray());
lst_display.Items.Add(string.Join(",", lst_numbers));