如何使用LINQ使用大小以外的条件订购浮点数数组?

Geo*_*ell 1 c# linq arrays

例如,我有一个浮点数数组:

float[] numbers = new float[] { 1, 34, 65, 23, 56, 8, 5, 3, 234 };
Run Code Online (Sandbox Code Playgroud)

如果我使用:

Array.Sort(numbers);
Run Code Online (Sandbox Code Playgroud)

然后按数字的大小对数组进行排序.

我想用另一个标准对数字进行排序,因此如果f(A)<f(B),元素A应该在元素B之前,而不是通常的A <B.

因此,例如,如果我想根据值模5对它们进行排序.数组将变为:

5, 65, 1, 56, 3, 8, 23, 34, 234
Run Code Online (Sandbox Code Playgroud)

我认为它可以通过LINQ完成,但我不确定如何.

sep*_*p2k 9

我想用另一个标准对数字进行排序,所以如果f(A)<f(B),元素A应该在元素B之前

numbers.OrderBy(f);
Run Code Online (Sandbox Code Playgroud)

  • 使用Enumerable.OrderBy实现您的需求将是`numbers.OrderBy(f => f%5);` (2认同)