我们不能在HashSet中使用StringComparison吗?

时间:2012-08-14 13:03:43

标签: c#

C#3.5:我无法编译这段代码:

HashSet<string> classDeclarations = new HashSet<string>(StringComparison.InvariantCultureIgnoreCase);

我收到此错误:

  

参数1:无法从'System.StringComparison'转换为   'System.Collections.Generic.IEqualityComparer'

所以我无法通过比较?

2 个答案:

答案 0 :(得分:7)

StringComparison是许多字符串相关函数使用的枚举 由于HashSet<T>与字符串无关,因此使用StringComparison是没有意义的。

您需要使用实现StringComparer的{​​{1}}类的静态属性。

答案 1 :(得分:7)

你需要这样做

HashSet<string> myHashSet = new HashSet<string>(StringComparer.InvariantCultureIgnoreCase);