2017-03-22 17 views
0

すべての辞書エントリの値のIternary.Nameから別個のIternary.Nameのリストを取得する必要があるlinq式が必要です。オブジェクトの辞書から文字列のリストを作成するLinq式が必要です(リストを含む)

public class IternaryInfo 
{ 
    public string Name { get; set; } 
    public Iternary[] IternaryList { get; set; } 
} 

public class Iternary 
{ 
    public string Name { get; set; } 
} 

Dictionary<String, IternaryInfo> dictionary = new Dictionary<String, IternaryInfo>(); 

は一つの式でこのPOSSですかループして行かなければならない:

オブジェクトは、形式を下回っています。

試着 - dictionary.Select(x=>x.Value.IternaryList).ToList()(確かではありませんが、アイタナリーから名前を付けてください)。

+0

が試したオプションを追加しました。 – dsi

答えて

6

以下を行う必要があります。

  • だけ異なる値を取得するためにSelect、その後
  • 使用Distinctを使用してName秒にSelectMany、その後

  • プロジェクトIternary Sを使用してリストを平ら

    var result = dictionary.Values 
            .SelectMany(v => v.IternaryList) 
            .Select(i => i.Name) 
            .Distinct().ToList(); 
    
関連する問題