我注意到了一些奇怪的LINQ和Contains方法.似乎对于Contains方法的调用感到困惑.
if (myString.Contains(strVar,StringComparison.OrdinalIgnoreCase)) { // Code here }
方法’System.Linq.Enumerable.Contains(System.Collections.Generic.IEnumerable,TSource,System.Collections.Generic.IEqualityComparer)’的类型参数不能从使用推断出来.尝试显式指定类型参数.
如果我删除使用linq语句,它对于包含(但制止所有的linq代码)是幸福的.
告诉编译器我想使用String.Contains方法而不是Linqs的正确语法是什么?
干杯
解决方法
这是因为在BCL中没有定义String.Contains(string,StringComparison)方法,编译器尝试使用扩展方法.只有
String.Contains(string)方法被定义.