How to sort elements of array list in C#

后端 未结 9 1127
梦如初夏
梦如初夏 2021-02-14 23:42

I have an ArrayList that contains,

[0] = \"1\"
[1] = \"10\"
[2] = \"2\"
[3] = \"15\"
[4] = \"17\"
[5] = \"5\"
[6] = \"6\"
[7] = \"27\"
[8] = \"8\"
[9] = \"9\"
         


        
9条回答
  •  -上瘾入骨i
    2021-02-15 00:20

    If you can be sure the list contains only strings that can be transformed to integers, then with the IEnumerable.OrderBy extension method, try this:

    var sortedList = list.OrderBy(item => int.Parse(item));
    

    If you're using an ArrayList instead of a List (boo!), you'll need to Cast first:

    var sortedList = list.Cast().OrderBy(item => int.Parse(item));
    

    You can also define your own comparer as JaredPar noted, but IMO that's a lot of work for something that's already implemented. However, it's more efficient.

提交回复
热议问题