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

Sco*_*try 3 c# arrays

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

"Spr 2009""Sum 2006""2010年秋季""秋季2007"

我希望能够按年份和季节对这个阵列进行排序.有没有办法编写一个排序功能,告诉它按季节排序.我知道如果他们分开会更容易,但我无法帮助给予我什么.

Jon*_*eet 9

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

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

string[] strings = { ... };
Array.Sort(strings, CompareStrings);
Run Code Online (Sandbox Code Playgroud)

您也可以使用通用列表执行相同的操作:

List<string> strings = ...;
strings.Sort(CompareStrings);
Run Code Online (Sandbox Code Playgroud)