如何对数组字符串进行数字排序?

时间:2014-04-30 14:36:43

标签: c# arrays sorting

我有一个字符串数组,在开头有一个数字,后跟一个名字。我如何以数字方式对数组进行排序;即

40 Mike, 25 Tyson, 9 Jackson, 5 Phillip, 3 Mitchell

而不是

9 Jackson, 5 Phillip, 40 Mike, 3 Mitchell, 25 Tyson

3 个答案:

答案 0 :(得分:1)

var sorted = yourArray.OrderBy(x => int.Parse(x.Split()[0])).ToArray();

答案 1 :(得分:0)

using System;
using System.Collections.Generic;

public class Test
{
    public static void Main()
    {
        string[] items = {"10", "1", "30", "-5"};
        Array.Sort(items, (x, y) => 
        {
            int xNum = int.Parse(x);
            int yNum = int.Parse(y);
            return Comparer<int>.Default.Compare(xNum, yNum);
        });

        foreach(var item in items)
            Console.WriteLine(item);
    }
}

答案 2 :(得分:0)

您可以使用SortedDictionary数据结构来获取已排序的数组。