排序字符串列表的最快方法

时间:2012-04-03 16:10:14

标签: c# sorting

我有这样的字符串列表

“FirstName-Lastname”(用短划线分隔)

我需要按照名字和姓氏对此列表进行排序

这样做的最佳方法是什么。 我需要在不到1秒的时间内处理30000个字符串。

我被建议使用LINQ to Entities。

使用它的最佳方式是什么?

非常感谢任何帮助

编辑:为避免混淆,输入为List<string>

3 个答案:

答案 0 :(得分:3)

您可以使用LINQ(允许您排序而不修改List中的数据):

names.OrderBy(s => s.Split('-')[0]).ThenBy(s => s.Split('-')[1]);

答案 1 :(得分:2)

您也可以使用代理

names.Sort(
    delegate(string str1, string str2)
    {
        return str1.CompareTo(str2);
    }
);

答案 2 :(得分:0)

26个子数组中拆分字符串数组,每个字母对应一个字母。然后为每个子阵列重复该过程。

此方法对排序字符串非常有效。它被称为bucket sort