任何人都知道如何进行List <string> case insensitve比较

Mr *_*ket 2 c# asp.net

说我有一个名单

var names = new List<string>{"Tom", "Dick", "Harry"};
Run Code Online (Sandbox Code Playgroud)

现在说我想搜索汤姆.

names.Contains("Tom");
Run Code Online (Sandbox Code Playgroud)

不是问题但是我想用不同的外壳说"tOM".

谁能告诉我如何在不创建另一个类的情况下做到这一点?

我有一个解决方案,我有一个继承自的Comparer类IEqualityComparer.

谢谢!

Qua*_*ter 9

使用带有IEqualityComparer 的Enumerable.Contains的重载,并传入StringComparer.CurrentCultureIgnoreCaseStringComparer.InvariantCultureIgnoreCase.

names.Contains("tOm", StringComparer.CurrentCultureIgnoreCase);
Run Code Online (Sandbox Code Playgroud)