4
我喜欢Linq语法及其功能,但有时我不明白为什么事情在工作时会起作用。用方法组替换Lambda表达式时发生编译器错误
就像现在一样。我有以下的代码:
Regex regex = new Regex(...);
int result1 = stringList.Count(regex.IsMatch);
IEnumerable<string> result2 = stringList.Where (x => regex.IsMatch (x));
正如你可以在第一个查询看我可以使用较短的方法组“regex.IsMatch”,但在第二个查询我必须写的“x =>正则表达式.IsMatch(x)'。
作为计数和地点都采取型相同的参数
Func<string, bool>
我不明白为什么我得到一个编译错误,当我这样做:
IEnumerable<string> result2 = stringList.Where (regex.IsMatch);
谢谢,现在完全合理:) –