C# 将两个列表数据合并到单个列表C中#
所以我有以下两个使用linq的列表C# 将两个列表数据合并到单个列表C中#,c#,linq,C#,Linq,所以我有以下两个使用linq的列表 List<One> one= A.Common .Join(B.Common, a => a.ID, b=> b.ID, (a, b) => new One { ID = b.PID, Name = b.
List<One> one= A.Common
.Join(B.Common,
a => a.ID,
b=> b.ID,
(a, b) => new One
{
ID = b.PID,
Name = b.PCName,
LastName = a.LName
}).ToList();
List<One> two = (from c in D.Options
select new One
{
MainName = c.mName
}).ToList();
List<One> sn = one.Concat(two).ToList();
List one=A.通用
.加入,
a=>a.ID,
b=>b.ID,
(a,b)=>新的
{
ID=b.PID,
Name=b.PCName,
LastName=a.LName
}).ToList();
列表二=(从c到D选项
选择一个新的
{
MainName=c.mName
}).ToList();
List sn=1.Concat(2.ToList();
我把这两份清单都列了出来。但当我调试时,我在sn列表中得到的MainName为null
如何从单个列表中的两个列表中获取数据???是否要为列表一中的所有列表值指定MainName属性
如上所述,代码串联将连接两个列表,并且不会为列表一元素设置MainName
one.Concat(two)
上行将两个列表合并为一个列表元素。是否要为列表一中的所有列表值指定MainName属性
one.Concat(two)
如上所述,代码串联将连接两个列表,并且不会为列表一元素设置MainName
one.Concat(two)
上行将两个列表合并为一个列表元素。是否要为列表一中的所有列表值指定MainName属性
one.Concat(two)
如上所述,代码串联将连接两个列表,并且不会为列表一元素设置MainName
one.Concat(two)
上行将两个列表合并为一个列表元素。是否要为列表一中的所有列表值指定MainName属性
one.Concat(two)
如上所述,代码串联将连接两个列表,并且不会为列表一元素设置MainName
one.Concat(two)
上面的行将两个列表合并为一个列表元素。这是您的操作方式:
one.Concat(two)
var sn = one.Zip(two, (x, y) => new One{
ID = x.ID,
Name = x.Name,
LastName = x.LastName,
MainName = y.MainName
});
这就是你如何做到的:
var sn = one.Zip(two, (x, y) => new One{
ID = x.ID,
Name = x.Name,
LastName = x.LastName,
MainName = y.MainName
});
这就是你如何做到的:
var sn = one.Zip(two, (x, y) => new One{
ID = x.ID,
Name = x.Name,
LastName = x.LastName,
MainName = y.MainName
});
这就是你如何做到的:
var sn = one.Zip(two, (x, y) => new One{
ID = x.ID,
Name = x.Name,
LastName = x.LastName,
MainName = y.MainName
});
您可以使用LINQ和方法:
编辑:
更有效的方法是这样做——上面的方法将基本上循环所有条目,创建一个动态大小的缓冲区
var mergedList = new List<One>(YourFirstList.Count +
YourSecondList.Count +
YourThirdList.Count);
mergedList.AddRange(YourFirstList);
mergedList.AddRange(YourSecondList);
mergedList.AddRange(YourThirdList);
您可以使用LINQ和方法:
编辑:
更有效的方法是这样做——上面的方法将基本上循环所有条目,创建一个动态大小的缓冲区
var mergedList = new List<One>(YourFirstList.Count +
YourSecondList.Count +
YourThirdList.Count);
mergedList.AddRange(YourFirstList);
mergedList.AddRange(YourSecondList);
mergedList.AddRange(YourThirdList);
您可以使用LINQ和方法:
编辑:
更有效的方法是这样做——上面的方法将基本上循环所有条目,创建一个动态大小的缓冲区
var mergedList = new List<One>(YourFirstList.Count +
YourSecondList.Count +
YourThirdList.Count);
mergedList.AddRange(YourFirstList);
mergedList.AddRange(YourSecondList);
mergedList.AddRange(YourThirdList);
您可以使用LINQ和方法:
编辑:
更有效的方法是这样做——上面的方法将基本上循环所有条目,创建一个动态大小的缓冲区
var mergedList = new List<One>(YourFirstList.Count +
YourSecondList.Count +
YourThirdList.Count);
mergedList.AddRange(YourFirstList);
mergedList.AddRange(YourSecondList);
mergedList.AddRange(YourThirdList);
您是否在two
中检查了MainName的值?我觉得你的代码很好。第一个集合,你没有设置MainName。。。行吗?@MairajAhmad我在班上有属性MainNameone@dmyoko我无法在第一个集合中设置MainName,因为我必须从Options@RahulSingh我得到了两个正确的值。但不是在sn中:(您是否检查了在two
中获得的MainName值?您的代码在我看来很好。第一个集合,您没有设置MainName…可以吗?@MairajAhmad我在类中有属性MainNameone@dmyoko我无法在第一个集合中设置MainName,因为我必须从Options@RahulSingh我得到了正确的价值观n 2.但不在sn中:(您是否检查了在two
中获得的MainName值?您的代码在我看来很好。第一个集合,您没有设置MainName…可以吗?@MairajAhmad我在类中有属性MainNameone@dmyoko我无法在第一个集合中设置MainName,因为我必须从Options@RahulSingh我得到了正确的价值观n 2.但不在sn中:(您是否检查了在two
中获得的MainName值?您的代码在我看来很好。第一个集合,您没有设置MainName…可以吗?@MairajAhmad我在类中有属性MainNameone@dmyoko我无法在第一个集合中设置MainName,因为我必须从Options@RahulSingh我得到了正确的价值观n 2.但不是在sn中:(我发现了问题,但不知道如何使用LINQ:)这是减少原始项目的计数。但是,确保两个列表正确组织很重要……这就是元素有序,并且没有遗漏任何一个(除非您想丢弃遗漏的项目)。可能是因为这两个列表的元素数不同。下面是一个示例。.读取不均匀源数据标题。我遇到了问题,但不知道如何使用LINQ解决它:)这就减少了原始项目的数量。不过,重要的是要确保这两个列表正确地组织起来……即元素有序,并且没有人丢失(除非您想丢弃丢失的项目)。可能是因为这两个列表的元素数不同。下面是一个示例。.读取不均匀源数据标题。我遇到了问题,但不知道如何使用LINQ解决它:)这就减少了原始项目的数量。不过,重要的是要确保这两个列表正确地组织起来……即元素有序,并且没有人丢失(除非您想丢弃丢失的项目)。可能是因为这两个列表的元素数不同。下面是一个示例。.读取不均匀源数据标题。我遇到了问题,但不知道如何使用LINQ解决它:)这就减少了原始项目的数量。不过,重要的是要确保这两个列表的组织正确…即元素有序,并且没有遗漏任何一个元素(除非您想丢弃遗漏的元素)。可能是因为这两个列表的元素数目不同。下面是一个示例..读取不均匀源数据标题。