2008-09-02 71 views

回答

4

我會去的lambda ... wayyy更好

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

與@lassevk發佈的內容相同。

我還想補充一點,你可能希望在最後一分鐘之前不要轉換爲數組。

LINQ在後臺做了一些優化,查詢一直保留在它的查詢表單中,直到明確需要。因此,您可能希望首先將所需的所有內容構建到查詢中,以便完全應用任何可能的優化。

通過評估手段我要求的東西,明確要求評價;像「COUNT()」或「ToArray的()」等

2

試試這個:

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

我可以得到另一個屬性嗎? – 2017-12-07 08:09:24

3

,如果你想用流利的模式這應該工作:

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

你不應該能夠做這樣的事?

var strings =(from a fooList select a.Bar).Distinct(); string [] array = strings.ToArray();