Array.Sort()成新的数组?

时间:2015-05-22 19:05:35

标签: c#

我使用Array.Sort()按升序对双打数组进行排序。然后在某些情况下我会Reverse()更改顺序。但理想情况下,我想保留原始阵列。 C#是否对输出到新数组的数组有一个简单的本机排序,而不是就地对现有数组进行排序?

1 个答案:

答案 0 :(得分:9)

你可以使用LINQ来做到这一点:

var result = source.OrderBy(x => x).ToArray();

或降序:

var result = source.OrderByDescending(x => x).ToArray();

或者您可以先创建新数组,然后再对其进行排序:

var newArray = (double[])source.Clone();
newArray.Sort();

我希望后者更快,但你应该测量它以确定。