我有一个字符串数组,在开头有一个数字,后跟一个名字。我如何以数字方式对数组进行排序;即
40 Mike, 25 Tyson, 9 Jackson, 5 Phillip, 3 Mitchell
而不是
9 Jackson, 5 Phillip, 40 Mike, 3 Mitchell, 25 Tyson
答案 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数据结构来获取已排序的数组。