C#3.5:我无法编译这段代码:
HashSet<string> classDeclarations = new HashSet<string>(StringComparison.InvariantCultureIgnoreCase);
我收到此错误:
参数1:无法从'System.StringComparison'转换为 'System.Collections.Generic.IEqualityComparer'的
所以我无法通过比较?
答案 0 :(得分:7)
StringComparison
是许多字符串相关函数使用的枚举
由于HashSet<T>
与字符串无关,因此使用StringComparison
是没有意义的。
您需要使用实现StringComparer
的{{1}}类的静态属性。
答案 1 :(得分:7)
你需要这样做
HashSet<string> myHashSet = new HashSet<string>(StringComparer.InvariantCultureIgnoreCase);