public class ClassA
{
public string MyString {get; set;}
}
public class ClassB
{
public List<ClassA> MyObjects {get; set;}
}
List<ClassB> classBList = new List<ClassB>();
var results = (from i in classBList select i.MyObjects).Distinct();
ClassA
内のすべてのclassBList
オブジェクトの個別のリストが必要です。 [〜#〜] linq [〜#〜]を使用してこれをどのように行うのですか?ネストされたクエリについて考えていますが、それを十分に理解できませんでした。どんな助けも大歓迎です。
元のリストのClassB
オブジェクトごとに複数の結果オブジェクトを選択しようとしています。
したがって、 SelectMany
拡張メソッド を探しています。
var results = classBList.SelectMany(b => b.MyObjects).Distinct();
クエリ式を使用する場合は、 2つのfrom
句 を使用する必要があります。
var results = (from b in classBList from a in b.MyObjects select a).Distinct();
IEnumerable.SelectMany()
Extension Methodを使用して、階層をフラット化します。
var result = classBList.SelectMany(b => b.MyObjects).Distinct();