📜  c# 检查列表是否包含不区分大小写的字符串 - C# (1)

📅  最后修改于: 2023-12-03 15:13:52.033000             🧑  作者: Mango

C#检查列表是否包含不区分大小写的字符串

在C#中,要检查一个列表是否包含一个字符串,我们通常使用List.Contains()方法。然而,该方法默认是区分大小写的。如果我们想要进行不区分大小写的比较,则需要使用一些特殊的方法。

本文将介绍如何在C#中检查一个列表是否包含不区分大小写的字符串。

使用StringComparison.OrdinalIgnoreCase来进行不区分大小写比较

C#中提供了一个StringComparison.OrdinalIgnoreCase枚举,可以用来进行不区分大小写比较。我们可以将这个枚举传递给String.Equals()方法,然后比较字符串是否相等。

string str1 = "Hello";
string str2 = "HELLO";
bool isEqual = string.Equals(str1, str2, StringComparison.OrdinalIgnoreCase);

在这个例子中,isEqual将会被设置为true,因为str1str2的值相等,而我们使用了StringComparison.OrdinalIgnoreCase进行了不区分大小写的比较。

StringComparison.OrdinalIgnoreCase传递给List.Contains()方法

如果我们想要在一个列表中进行不区分大小写的查找,我们可以通过将StringComparison.OrdinalIgnoreCase传递给List.Contains()方法来实现。

List<string> myList = new List<string>() { "hello", "world", "test" };
bool contains = myList.Contains("Hello", StringComparer.OrdinalIgnoreCase);

在这个例子中,contains将会被设置为true,因为我们使用了StringComparer.OrdinalIgnoreCase来进行了不区分大小写的比较。

总结

在C#中,通过使用StringComparison.OrdinalIgnoreCase枚举来进行不区分大小写的比较。我们可以将这个枚举传递给String.Equals()方法来比较两个字符串是否相等,或者传递给List.Contains()方法来查找一个列表中是否包含一个字符串。