저는 Linq 구문과 그 기능이 마음에 들지만, 가끔씩 일이 어떻게 작동 하는지를 이해하지 못하는 경우가 있습니다.람다 식을 메서드 그룹으로 바꿀 때 컴파일러 오류가 발생했습니다.
지금 당장. 'regex.IsMatch'당신이 첫 번째 쿼리에서 볼 수 있듯이
Regex regex = new Regex(...);
int result1 = stringList.Count(regex.IsMatch);
IEnumerable<string> result2 = stringList.Where (x => regex.IsMatch (x));
내가 짧은 방법 그룹을 사용할 수 있지만, 두 번째 쿼리에 나는 'X => 정규식을 작성해야 : 나는 다음과 같은 코드 조각이 .IsMatch (x) '.
카운트 두 유형의 같은 인수를 어디에서 컴파일러 오류가 왜이 수행 할 때Func<string, bool>
내가 볼 수 없기 때문에
: 기본적으로
IEnumerable<string> result2 = stringList.Where (regex.IsMatch);
고마워요, 지금 완전히 이해가됩니다 :) –