c# - C#中字符串数组的自定义排序

标签 c# arrays

我有一个字符串数组或数组列表传递给我的 C# 程序。以下是这些字符串包含的一些示例:

“2009 年 Spring ” “2006年总结” “2010 年秋季” “2007 年秋季”

我希望能够按年份和季节对这个数组进行排序。有没有办法编写一个排序函数来告诉它按年份排序然后按季节排序。我知道如果它们分开会更容易,但我无能为力。

最佳答案

您需要编写一个方法来以适当的方式比较任意两个字符串,然后您可以将该方法转换为 Comparison<string>。委托(delegate)传递给 Array.Sort :

public static int CompareStrings(string s1, string s2)
{
    // TODO: Comparison logic :)
}
...

string[] strings = { ... };
Array.Sort(strings, CompareStrings);

你也可以用通用列表做同样的事情:

List<string> strings = ...;
strings.Sort(CompareStrings);

关于c# - C#中字符串数组的自定义排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3389903/

相关文章:

Javascript 用子字符串分割并将所述子字符串包含在生成的数组中

c# - EF4.0 System.Data.Metadata.Edm.EntityType 的命名空间错误

c# - 如何定义我想在 SandcaSTLe 的 HFB 文档中看到哪种语言代码?

JavaScript 数组读取

php - 如何在多维非关联数组上使用 foreach 循环

arrays - Ruby:通过将数组映射到数组来构建哈希

c# - 即使是 "IsNullOrEmpty"检查也会给出 "Possible multiple enumeration of IEnumerable"警告

c# - 有没有什么简单的技巧可以让 FlipView 在当前项目的左右两侧显示一点点项目?

c# - 使用 Moq 和 TDD,从哪里开始?

c - 动态矩阵作为函数的静态参数