我有一个字符串数组或数组列表传递给我的 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/