📜  c# 按字符串排序列表 - C# (1)

📅  最后修改于: 2023-12-03 14:39:46.799000             🧑  作者: Mango

C# 按字符串排序列表

在 C# 中,我们可以使用 List<string> 类型来存储一组字符串。如果需要将这些字符串按字典序进行排序,可以使用 List.Sort() 方法。

List<string> strList = new List<string>() {
    "cat", 
    "apple", 
    "dog", 
    "banana"
};
strList.Sort();

以上代码演示了如何对 strList 列表进行排序,排序结果为 ["apple", "banana", "cat", "dog"]。

如果需要按照字符串长度进行排序,可以使用 List.Sort() 方法的重载版本,并传入一个 Comparison<string> 类型的比较器。

List<string> strList = new List<string>() {
    "cat", 
    "apple", 
    "dog", 
    "banana"
};
strList.Sort((x, y) => x.Length.CompareTo(y.Length));

以上代码演示了如何对 strList 列表进行按字符串长度排序,排序结果为 ["cat", "dog", "apple", "banana"]。

如果需要按照字符串长度和字典序进行排序,可以在比较器中按顺序进行比较。

List<string> strList = new List<string>() {
    "cat", 
    "apple", 
    "dog", 
    "banana"
};
strList.Sort((x, y) => {
    // 按长度升序排序
    int result = x.Length.CompareTo(y.Length);
    // 如果长度相等,则按字典序升序排序
    return result == 0 ? x.CompareTo(y) : result;
});

以上代码演示了如何对 strList 列表进行按字符串长度和字典序排序,排序结果为 ["cat", "dog", "apple", "banana"]。

除了 List<string> 类型外,数组(包括字符串数组)也拥有 Sort() 方法,在使用时与 List<string> 类型类似。

以上就是 C# 中按字符串排序列表的几种方法,希望能对大家有所帮助。