2008-09-02 2 views

답변

4

... wayyy 좋네요을

var bars = Foos.Select(f => f.Bar).Distinct().ToArray(); 

@lassevk가 게시 한 것과 동일하게 작동합니다.

또한 마지막 순간까지 배열로 변환되지 않도록 할 수도 있습니다.

LINQ는 장면에서 약간의 최적화를 수행하며, 쿼리는 명시 적으로 필요할 때까지 쿼리 형식으로 유지됩니다. 따라서 가능한 모든 최적화를 적용하기 위해 먼저 쿼리에 필요한 모든 것을 쿼리에 구축해야 할 수 있습니다. 명시 적으로 같은 evalution을 필요로 뭔가를 묻는 의미 평가함으로써

"카운트()"또는 "ToArray()"등

2

이 시도 : 당신은 유창 패턴을 사용하려는 경우

var distinctFooBars = (from foo in foos 
         select foo.Bar).Distinct().ToArray(); 
+0

같은 속성의 다른 속성을 얻을 수 있습니까? –

+0

그 의미가 무엇인지 설명하십시오. –

+0

나는 List of Foo를 가지고있다. Foo에는 Bar 및 Coke라는 문자열 속성이 있습니다. –

3

이 작동합니다 : 나는 람다를 가고 싶어

string[] arrayStrings = fooList.Select(a => a.Bar).Distinct().ToArray(); 
0

이 같은 것을 할 수 있어야하지 않나요?

var strings = (fooList의 a.Bar에서 선택) .Distinct(); string [] array = strings.ToArray();

관련 문제