按长度排序数组
Posted
技术标签:
【中文标题】按长度排序数组【英文标题】:Sorting array by length 【发布时间】:2020-11-08 07:43:19 【问题描述】:我想按长度对这个数组进行排序,但我该怎么做呢?我在网上搜索了一段时间,但找不到任何东西。该代码应该对字符串数组中每个字符串长度随机给出的数组进行排序,但我无法声明我希望它如何排序。
public class Kata
public static string[] SortByLength (string[] array)
Array.Sort(array);
return array;
【问题讨论】:
你想要的是OrderBy 【参考方案1】:好吧,为了对array
就地进行排序,您应该提供排序规则:
Array.Sort(array, (x, y) => x.Length.CompareTo(y.Length));
方法可以
public static string[] SortByLength (string[] array)
//TODO: validate array and its items here; they must be not null
Array.Sort(array, (x, y) => x.Length.CompareTo(y.Length));
return array;
【讨论】:
【参考方案2】:使用 linq...
public static string[] SortByLength (string[] array) =>
array.OrderBy( x => x?.Length ?? 0 ).ToArray();
【讨论】:
【参考方案3】:老兄,它应该是这样工作的。
Array.Sort(array, StringComparer.InvariantCulture);
【讨论】:
不按长度排序以上是关于按长度排序数组的主要内容,如果未能解决你的问题,请参考以下文章