코드에서 수행중인 작업과 질문 제목에서 묻는 작업은 서로 다릅니다.
당신은 당신이 다음을 수행해야합니다 IEnumerable<dynamic>
하려면 다음
IEnumerable<dynamic> cur = (from c in result.Customers
select g.CompanyName).Cast<dynamic>().Distinct();
from c in result.Customers select g.CompanyName
반환 IEnumerable<string>
.
Cast<dynamic>()
은 IEnumerable<dynamic>
을 반환합니다.
Distinct()
은 열거 가능한 멤버를 반환합니다.
Distinct()
은 기본적으로 기본 동일성 비교 자 EqualityComparer<T>을 사용합니다. 이것은 열거 된 유형을 검사하고이를 처리하는 방법을 알아 내려고합니다 (링크에서 이에 대해 자세히 설명 함).
동적으로 처리되는 유형을 기본 동등 비교 자로 처리 할 수없는 경우를 제외하고이 모든 항목은 보급 된대로 작동합니다. 이 경우 사용자 정의 동등 비교자를 사용하는 재정의를 사용해야합니다.
var를 사용할 수 없습니까? – Manatherin