2016-07-26 13 views
0

私はキュー(リスト)を含むIEnumerableオブジェクトを持っています。各アイテムには3つのプロパティがあります。これらのプロパティの1つ( "States")には別の配列が含まれています。この配列には "Messages"というプロパティが含まれています。かなり紛らわしいので、私はデバッグでローカルの写真を撮ったのです。 I had to edit sensible data out, sorry guys わかりやすいデータを編集する必要がありました。入れ子になったIEnumerable/Arrays、深く入れ子になったプロパティにアクセスする方法

私は、このIEnumerableオブジェクトだけを扱うことができます。私はどのようにプロパティ "メッセージ"に到達するのですか?

私はすでに、その後、私は、文字列の新しい配列/リストを作成し、そこに各_messageをforeachの可能

よう...
var _message = _criticalData.Select(item1 => item1.States.Select(item2 =>item2.Messages).ToArray()).ToArray() 

をいくつかラムダ式を試してみました。

少なくとも私はそれが動作すると思います(自宅でテストすることはできません)。しかし、それはまた本当に本当に遅いでしょう。これを行うための他の方法はありますか?

+0

。 – user3185569

+0

悲しいことに、リモートでコードにアクセスすることはできません。そして、私はクラスの写真4枚でこの質問をスパムしたくはありませんでした。 – coding4life

+0

State1とItem2の両方にStatesプロパティがありますか? – user3185569

答えて

2

あなたは、複数のリストを平らなので、同じようSelectManyを使用する必要があります:あなたは、クラスの代わりに、画像を示した場合、それははるかに多くの有益だっただろう

string[] output = _criticalData.SelectMany(outer => 
          outer.States.SelectMany(inner => inner.Messages)) 
          .ToArray(); 
+0

聖なる、私は選択方法があることを知りませんでした....ありがとう。 :) – coding4life

関連する問題