C# 压缩不同大小的列表

C# 压缩不同大小的列表,c#,C#,清单2只显示了两个元素,但我需要4个元素 地址有4个元素 关联有2个元素 如果我在关联中再添加两个元素,我将自动获得4个元素 DT_createdRentalObject ro = new DT_createdRentalObject(); //Add Address List<Address> la = new List<Address>(); la.Add(new Add

清单2只显示了两个元素,但我需要4个元素

地址有4个元素

关联有2个元素

如果我在关联中再添加两个元素,我将自动获得4个元素

            DT_createdRentalObject ro = new DT_createdRentalObject();

            //Add Address
            List<Address> la = new List<Address>();
            la.Add(new Address { City = "Arizona" });
            la.Add(new Address { City = "Texas" });
            la.Add(new Address { City = "California" });
            la.Add(new Address { City = "Florida" });
            ro.Address = la.ToArray();

            //Add Association
            List<Association> aso = new List<Association>();
            aso.Add(new Association { AssociationType = "1" });
            aso.Add(new Association { AssociationType = "2" });
            ro.Association = aso.ToArray();

            //Add LandData
            List<LandData> landa = new List<LandData>();
            landa.Add(new LandData { LandRegistrNumber = "12343" });
            landa.Add(new LandData { LandRegistrNumber = "8737" });
            landa.Add(new LandData { LandRegistrNumber = "2456" });
            ro.LandData = landa.ToArray();

            //Object
            List<MasterDataObjectID> mdobid = new List<MasterDataObjectID>();
            mdobid.Add(new MasterDataObjectID { IDType = "TYPID_212_12" });


            //ObjectType
            MasterData mdats = new MasterData();
            mdats.ObjectType = "Flat";
            mdats.ObjectID = mdobid.ToArray();
            ro.MasterData = mdats;

            var list =
                       ro.Address.Zip(ro.Association,
                       (add, asn) => new
                       {
                           ro.MasterData.ObjectID[0].IDType,
                           ro.MasterData.ObjectType,
                           add.City,
                           asn.AssociationType,
                       }
                      );

            var list2 = list.Zip(ro.LandData, (ld, lan) => new
                      {
                          ld.AssociationType,
                          ld.City,
                          ld.IDType,
                          ld.ObjectType,
                          lan.LandRegistrNumber
                      });
DT_createdentalobject ro=new DT_createdentalobject();
//添加地址
List la=新列表();
添加(新地址{City=“Arizona”});
la.Add(新地址{City=“Texas”});
la.Add(新地址{City=“California”});
添加(新地址{City=“Florida”});
ro.Address=la.ToArray();
//添加关联
List aso=新列表();
Add(新关联{AssociationType=“1”});
Add(新关联{AssociationType=“2”});
ro.Association=aso.ToArray();
//添加土地数据
List landa=新列表();
添加(新的LandData{LandRegistrNumber=“12343”});
添加(新的LandData{LandRegistrNumber=“8737”});
添加(新的LandData{LandRegistrNumber=“2456”});
ro.LandData=landa.ToArray();
//反对
List mdobid=新列表();
Add(新的MasterDataObjectID{IDType=“TYPID_212_12”});
//对象类型
MasterData mdats=新的MasterData();
mdats.ObjectType=“平面”;
mdats.ObjectID=mdobid.ToArray();
ro.MasterData=mdats;
变量表=
ro.Address.Zip(ro.Association,
(添加,asn)=>新建
{
ro.MasterData.ObjectID[0]。IDType,
ro.MasterData.ObjectType,
加.城市,
asn.AssociationType,
}
);
var list2=list.Zip(ro.LandData,(ld,lan)=>new
{
ld.AssociationType,
劳埃德市,
ld.IDType,
ld.ObjectType,
lan.LandRegisterNumber
});

我不确定您遇到了什么问题。您能否提供更多信息,或者提供一个示例?地址、关联和土地数据之间的联系是什么?到目前为止,唯一的连接是列表中的索引,其他什么都没有。那么,带有“Florida”的地址应该如何连接到协会或LandData?你说的“如何自动完成”是什么意思?是否自动向关联添加两个以上元素?这些新的协会应该是什么样子?空对象?或者继续使用“3”和“4”关联类型?应用程序不知道如何“自动”实现这一点,因此您需要定义它。