Having an array of strings how can I update it so its elements are sorted by its length.
I was trying
string[] arr = {\"aa\",\"ss\",\"a\",\"abc\"};
a
OrderBy
returns IEnumerable
, not an array. Use ToArray
method to get an array:
arr = arr.OrderBy(aux => aux.Length).ToArray();
However, it will not sort the source array. Instead of that, it will create a new one with items sorted and replace the reference. If you need in-place sort (e.g. when the array is also referenced elsewhere) use Array.Sort
method:
Array.Sort(x, (x1, x2) => x1.Length.CompareTo(x2.Length));