在C#中,可以使用StringComparison枚举来指定字符串比较的规则,比如忽略大小写、区分大小写、忽略空格等。下面是一些常用的StringComparison的扩展方法:
- IgnoreCase:忽略大小写比较两个字符串。
string str1 = "Hello"; string str2 = "hello"; bool result = str1.Equals(str2, StringComparison.OrdinalIgnoreCase); // true
- IgnoreNonSpace:忽略空格和非空格字符的比较。
string str1 = "hello world"; string str2 = "helloworld"; bool result = str1.Equals(str2, StringComparison.Ordinal); // false bool result2 = str1.Equals(str2, StringComparison.OrdinalIgnoreCase); // true bool result3 = str1.Equals(str2, StringComparison.InvariantCulture); // false bool result4 = str1.Equals(str2, StringComparison.InvariantCultureIgnoreCase); // true bool result5 = str1.Equals(str2, StringComparison.OrdinalIgnoreCase); // true
- IgnoreSymbols:忽略标点符号的比较。
string str1 = "hello, world!"; string str2 = "hello world"; bool result = str1.Equals(str2, StringComparison.OrdinalIgnoreCase); // true
- OrdinalIgnoreCase:使用不区分大小写的字典排序规则比较字符串。
string str1 = "hello"; string str2 = "Hello"; bool result = str1.Equals(str2, StringComparison.OrdinalIgnoreCase); // true
这些扩展方法可以帮助我们更灵活地比较字符串,根据具体的需求选择合适的比较规则。