PFr*_*ise 0 c# sorting sql-order-by
我试图通过每个对象的权重(int)对对象数组进行排序.我正在使用的代码是:
Node[] sortedNodes = nodeArray.OrderBy(x => x.getWeight());
Run Code Online (Sandbox Code Playgroud)
我也试过类似的东西:
IEnumerable<Node> sortedNodes = nodeArray.OrderBy
(node => node.getWeight, IComparable<int>);
Run Code Online (Sandbox Code Playgroud)
我想知道是否有人可以帮我发送正确的方向.
编辑:
我收到以下错误:
错误1无法从用法推断出方法'System.Linq.Enumerable.OrderBy(System.Collections.Generic.IEnumerable,System.Func)'的类型参数.尝试显式指定类型参数.C:\ Users\paul\AppData\Local\Temporary Projects\ConsoleApplication1\Program.cs 26 34 HuffmanCode
你的代码几乎是正确的 - 如果你想要一个有序的序列,你可以使用:
IEnumerable<Node> sortedNodes = nodeArray.OrderBy(node => node.getWeight());
Run Code Online (Sandbox Code Playgroud)
IComparer<int>由于存在比较int值的合理默认方式,因此不需要采用a的重载.
或者,如果要创建排序数组:
Node[] sortedNodes = nodeArray.OrderBy(x => x.getWeight()).ToArray();
Run Code Online (Sandbox Code Playgroud)
您的示例将无法编译,因为没有隐式转换IEnumerable<Node>,Node[]因此ToArray需要调用.