どのように配列の異なるプロパティの値からメモリのリストがありますか?

StackOverflow https://stackoverflow.com/questions/40465

質問

私の一覧Foo.

Fooは文字列の名前のプロパティバーがあります。

利用したい LINQ る文字列で取得します[]の 異なる 値Foo.バーリストFoo.

する方法を教えてください。

役に立ちましたか?

解決

なったと思いlambdas...wayyyむ

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

作品と同じ@lassevkを掲載しました。

思いつまでもいくらかの変換を配列です。

LINQは一部の最適化をクエリに滞在、お問い合わせフォームまで明示的に必要です。のんび構築に必要なものは、クエリの最初ので、他の最適化に適用します。

による評価かという明示的に要する評価のように"Count()"または"ToArray()"など。

他のヒント

この場合にはそれを利用したいの堪能なパターン:

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

してみてください:

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

なることはできないようなもの:

var strings = (from a in fooList select a.Bar).Distinct();
string[] array = strings.ToArray();
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top