Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.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#_Arrays - Fatal编程技术网

C# 控制台打印次数太多

C# 控制台打印次数太多,c#,arrays,C#,Arrays,我在学习数组时遇到了一个小问题。所以我需要打印出数组中唯一的元素。当我运行程序时,它打印出的值超过了数组lol中的值的数量。如果这是一个非常简单和愚蠢的问题,我很抱歉,但我看不出它有什么问题。语言是c# static void Main(字符串[]args) { 整数[]个数=新整数[10]; 随机=新随机(); 对于(int i=0;i

我在学习数组时遇到了一个小问题。所以我需要打印出数组中唯一的元素。当我运行程序时,它打印出的值超过了数组lol中的值的数量。如果这是一个非常简单和愚蠢的问题,我很抱歉,但我看不出它有什么问题。语言是c#

static void Main(字符串[]args)
{
整数[]个数=新整数[10];
随机=新随机();
对于(int i=0;i<10;i++)
{
数字[i]=random.Next(0,10);
}
数组。排序(数字);
foreach(数值形式的变量num)
{
Write(“{0},”,num);
}
控制台。写线(“”);
对于(int i=0;i<10;i++)
{
对于(int j=1;j<10;j++)
{
如果(数字[i]==数字[j])
{
打破
}
其他的
{
控制台。写入(数字[i]+“,”);
}
}
}

我不确定末尾嵌套for循环的疯狂到底在做什么。但是你可以这样做

        int[] numbers = new int[10];
        Random random = new Random();

        for (int i = 0; i < 10; i++)
        {
            numbers[i] = random.Next(0, 10);
        }

        Array.Sort(numbers);
        foreach (var num in numbers)
        {
            Console.Write("{0}, ", num);
        }
        Console.WriteLine();
        numbers = numbers.Distinct().ToArray();
        numbers.ToList().ForEach(x => Console.Write(x + ", "));

我的朋友,写这个程序时你想要什么?我只想打印出一个随机数组中的唯一元素。例如,如果数组是1,4,6,6,6,3,3,我希望程序输出1,3,4,6。每个部分都是这样,我可以比较并确保它正常工作。
numbers.Distinct()
不是一个选项?在我看来,您发布的代码在您知道数字是否唯一之前会过早地打印数字。在我看来,由于您首先对值进行排序,因此不需要嵌套循环来查找重复项。您是否尝试过自己调试此代码?您是否注意到任何特别的问题g?你具体遇到了什么问题?创建一个字典,如果尚未添加数字,则将其添加到字典中。然后循环字典并打印出数字。在线搜索c#字典。
        int[] numbers = new int[10];
        Random random = new Random();

        for (int i = 0; i < 10; i++)
        {
            numbers[i] = random.Next(0, 10);
        }

        Array.Sort(numbers);
        foreach (var num in numbers)
        {
            Console.Write("{0}, ", num);
        }
        Console.WriteLine();
        numbers = numbers.Distinct().ToArray();
        numbers.ToList().ForEach(x => Console.Write(x + ", "));
       Random random = new Random();
       int[] numbers = Enumerable.Repeat(0, 10).Select(i => random.Next(0, 10)).ToArray();
       Console.WriteLine(string.Join(", ", numbers));
       Console.WriteLine(string.Join(", ", numbers.Distinct()));