Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/22.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#_.net - Fatal编程技术网

C# 对数组排序

C# 对数组排序,c#,.net,C#,.net,有人能告诉我如何对整数数组的元素按降序排序吗?可能吗 谢谢使用: 使用: 或 或 或 或 要就地排序,可以使用接受比较委托的重载: Array.Sort(arr, (x,y)=>y.Compare(x)); 要就地排序,可以使用接受比较委托的重载: Array.Sort(arr, (x,y)=>y.Compare(x)); 使用排序后跟反向使用排序后跟反向尝试以下操作: Array.Sort(array, (x, y) => y.Compare(x)); 请尝试以下操作:

有人能告诉我如何对整数数组的元素按降序排序吗?可能吗

谢谢

使用:

使用:


要就地排序,可以使用接受比较委托的重载:

Array.Sort(arr, (x,y)=>y.Compare(x));

要就地排序,可以使用接受比较委托的重载:

Array.Sort(arr, (x,y)=>y.Compare(x));
使用排序后跟反向

使用排序后跟反向

尝试以下操作:

Array.Sort(array, (x, y) => y.Compare(x));
请尝试以下操作:

Array.Sort(array, (x, y) => y.Compare(x));

如果你有课堂作业,而你的教授不希望你使用Array.Sort,这可能会有所帮助


如果你有课堂作业,而你的教授不希望你使用Array.Sort,这可能会有所帮助


为什么你认为这是不可能的?你在谷歌上搜索过关于做这件事的方法的问题吗?这是家庭作业吗?你已经试过什么了?你找过了吗?为什么你觉得不可能?你在谷歌上搜索过关于做这件事的方法的问题吗?这是家庭作业吗?你已经试过什么了?你搜索了吗?虽然这是可行的,但是有一些排序重载不需要反转。我的目的是提供最简单但不是最好的解决方案。OP提出了一个如此基本的问题,以至于我不敢将lambdas加入其中。虽然我知道在这个特定的实例中效率并不是一个真正的问题,但有趣的是,对于基本类型,Sort后跟Reverse的执行速度几乎是使用比较委托调用Sort的三倍。请参阅以了解原因。虽然这是可行的,但也存在不需要反转的排序重载。我的目的是提供最简单但不是最好的解决方案。OP提出了一个如此基本的问题,以至于我不敢将lambdas加入其中。虽然我知道在这个特定的实例中效率并不是一个真正的问题,但有趣的是,对于基本类型,Sort后跟Reverse的执行速度几乎是使用比较委托调用Sort的三倍。请参阅以了解原因。
Array.Sort(arr, (x,y)=>y.Compare(x));
Array.Sort(arr, (num1,num2) => num1.Compare(num2));
Array.Sort(array, (x, y) => y.Compare(x));
private void button1_Click(object sender, EventArgs e)
{
    int[] numbers = { 7, 4, 2, 6, 1, 10, 5, 8, 9, 3 };
    SortArray(numbers);
    foreach (int n in numbers)
    {
        textBox1.Text = textBox1.Text + n.ToString() + ' ';
    }
}

public static void SortArray(int[] num)
{
    int temp;
    int count = 0;

    while (count < num.Length - 1)
    {
        int min = num[count];

        for (int x = count; x < num.Length; x++)
        {
            if (min > num[x])
            {
                temp = num[count];
                min = num[x];
                num[count] = num[x];
                num[x] = temp;

            }

        }

        count++;
    }
}