1

私はリストを持っています

public class Org
{
  public string Name;
  public List<OrgPost> OrgPostCollection= new List<OrgPost>();
}

public class OrgPost
{
  public string OrgPostTitle;
}

そして持っている:

List<Org> OrgCollection=//GetAll(Org);

そして今、私はこのような組織のリストを持っています

   [Name,OrgPostCollection]
   [Name2,OrgPostCollection2]
   ...

しかし、私はこのようなものが必要です:

   [Name1,OrgPostCollection[0]]
   [Name1,OrgPostCollection[1]
   [Name2,OrgPostCollection[0]]
   [Name2,OrgPostCollection[1]]
   ...
4

1 に答える 1

2

ネストされた選択を行うことができます:

   var flatEnumerable = from o in OrgCollection
                        from p in o.OrgPostCollection
                        select new Tuple<Org, OrgPost>(o, p);

その後、あなたが望むものを何でも投影することができますselect、私はを投影しTuple<Org, OrgPost>ます。

結果flatEnumerableは、次のようになります。またはをIEnumerable<Tuple<Org, OrgPost>>呼び出して、列挙可能なものをリストまたは配列に解決できます。ToListToArray

List<Tuple<Org, OrgPost>> flatList = flatEnumerable.ToList();
Tuple<Org, OrgPost>[] flatArray = flatEnumerable.ToArray();
于 2012-07-24T09:05:09.580 に答える