不区分大小写的比较

use*_*675 2 c# delegates

如何实现不区分大小写的比较?

List<Person> persons = new List<Person>();
persons.Add(new Person("P005", "Janson"));
persons.Add(new Person("P002", "Arnold"));
persons.Add(new Person("P007", "Kazhal"));
persons.Sort((p1, p2) => p1.Name.CompareTo(p2.Name));
Run Code Online (Sandbox Code Playgroud)

Die*_*cic 20

persons.Sort((p1, p2) => string.Compare(p1.Name, p2.Name, true));
Run Code Online (Sandbox Code Playgroud)


Bob*_*bby 6

你是说Strings吗?在这种情况下,您可以使用Compare-Funciton的重载,它接受第三个参数,一个确定大小写敏感性的布尔值:

String.Compare(
    string1,   // String 1
    string2,   // String 2
    true       // IgnoreCase
);
Run Code Online (Sandbox Code Playgroud)

或者,如果你愿意,但我不明白为什么,你可以走得很脏......

string1.ToLower() == string2.ToLower()
Run Code Online (Sandbox Code Playgroud)

另一方面,如果您在比较这些字符串时非常繁琐,可以使用:

string1.ToUpper() == string2.ToUpper()
Run Code Online (Sandbox Code Playgroud)