0

カスタム オブジェクトのリストが 2 つあります。
どちらもDivisionId共通の性質を持っています。PlanType私は2つのパラメータをコピーCoverageTypeしたいと思ってList<Divisions>List<Members>ますMember.DivisionId = Divisions.DivisionId

Member オブジェクトと Divisions オブジェクトは次のとおりです。

public class Members
{
  public string FirstName;
  public string LastName;
  public string DivisionId;
}

Public Class Divisions
{
  public string PlanType;
  public string CoverageType,
  public string DivisionId;
}

ありがとう

4

2 に答える 2

0

あなたが説明するのは参加です

    var query = from m in members
                join d in divisions on m.DivisionId equals d.DivisionId
                select new { m.FirstName,
                            m.LastName,
                            m.DivisionId,
                            d.CoverageType,
                            d.PlanType
                        };
于 2012-12-05T18:12:30.290 に答える
0

最初のリストのインデックス0から2番目のリストのインデックス0にアイテムをコピーする場合は、他のすべてのインデックスについて次のように行うことができます。

var pairs = members.Zip(divisions, (a, b) => new
{
    Member = a,
    Division = b,
});

foreach (var pair in pairs)
{
    Copy(pair.Member, pair.Division);
}

インデックスが一致しない場合は、結合を行う必要があります。

var pairs = members.Join(divisions
    , member => member.DivisionId
    , division => division.DivisionId
    , (a, b) => new
    {
        Member = a,
        Division = b,
    });

foreach (var pair in pairs)
{
    Copy(pair.Member, pair.Division);
}

Zipアイテムがすでに適切な順序になっている場合は、が速くなることに注意してください。参加はZipよりも遅くなりますが、アイテムを手動で並べ替えてを許可するよりも速くなりますZip

于 2012-12-05T18:12:50.673 に答える