Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/linq/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 将两个列表数据合并到单个列表C中#_C#_Linq - Fatal编程技术网

C# 将两个列表数据合并到单个列表C中#

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.

所以我有以下两个使用linq的列表

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解决它:)这就减少了原始项目的数量。不过,重要的是要确保这两个列表的组织正确…即元素有序,并且没有遗漏任何一个元素(除非您想丢弃遗漏的元素)。可能是因为这两个列表的元素数目不同。下面是一个示例..读取不均匀源数据标题。