2008-09-02 19 views

答えて

4

... wayyyよりよいを

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

@lassevkが投稿したものと同じ働きをします。

また、最後の1分まで配列に変換しないようにしたいと思うかもしれません。

LINQではいくつかの最適化が行われていますが、クエリは明示的に必要となるまでクエリフォームにとどまります。したがって、まず問合せに必要なものすべてを構築して、可能な最適化がすべて適用されるようにすることができます。明示的のようなevalutionを必要と私は何かを求める評価手段によって

「カウント()」または「てToArray()」など

2

これを試してください:あなたは流暢なパターンを使用したい場合は

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

同じプロパティで別のプロパティを取得できますか? –

+0

その意味を説明してください。 –

+0

私は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();

関連する問題