C# 如何将列表添加到具有相同计数的列表中

C# 如何将列表添加到具有相同计数的列表中,c#,c#-4.0,C#,C# 4.0,我在C#中有两个不同的数据集列表 清单1有房产价格1,价格2,价格3。两者都是不同的类集合 清单2有房产价格4,价格5,价格6 var list1 = (from m in dbcontext.List1details)ToList(); var list2 = (from s in List2details).ToList(); In list1 I have **147 values** and list 2 have 147 values. 如何添

我在C#中有两个不同的数据集列表

清单1有房产价格1,价格2,价格3。两者都是不同的类集合 清单2有房产价格4,价格5,价格6

var list1 = (from m in dbcontext.List1details)ToList();                
var list2 = (from s in  List2details).ToList();

In list1   I have **147 values** and list 2 have 147 values.
如何添加具有相同计数的列表1和列表2

当我将其添加到另一个列表中时,计数为147+147=>294

我需要一张单子的相同计数

这是一个示例程序,但它会抛出错误

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Project1
{
    public class Program
    {
        static void Main(string[] args)
        {
            var list1= List1.GetList1();
            var list2 = List2.GetList12();


           // List3 m = new List3();
            //m.list = list1;
            //m.list2 = list2;

        List <List3> m = new List<List3> ();
        m.Add(list1);


// here this line is wrong,i need to add and take list1 of values add with list2 of values.
            foreach(var x in m)
            {
                // here i have to add list1 values and list2 values 
               var x = list1.LocationValues1 + list2.LocationValues4;

            Console.WriteLine(x);


        }
            Console.ReadLine();


        }
    }

    public class List1 {
        public string LocationName { get; set; }
        public decimal LocationValues1 { get; set; }
        public decimal LocationValues2 { get; set; }
        public Nullable<System.DateTimeOffset> CreatedDate { get; set; }



        public static List<List1> GetList1()
        {
            var list1 = new List<List1>
                {
                    new List1 {LocationName="Africa",LocationValues1=199.23M,LocationValues2=22.90M },
                    new List1 {LocationName="Africa",LocationValues1=199.23M,LocationValues2=22.90M },
                    new List1 {LocationName="Africa",LocationValues1=199.23M,LocationValues2=22.90M },
                    new List1 {LocationName="Africa",LocationValues1=199.23M,LocationValues2=22.90M },
                };

            return list1;
        }
    }


    public class List2
    {
        public string ContinentName { get; set; }
        public decimal LocationValues4 { get; set; }
        public decimal LocationValues5 { get; set; }
        public Nullable<System.DateTimeOffset> CreatedDate { get; set; }



        public static List<List2> GetList12()
        {
            var list2 = new List<List2>
                {
                    new List2{ ContinentName="Asia",LocationValues4=199.23M,LocationValues5=22.90M },
                    new List2 { ContinentName ="Africa",LocationValues4=199.23M,LocationValues5=22.90M },
                    new List2 { ContinentName ="Australia",LocationValues4=199.23M,LocationValues5=22.90M },
                    new List2 { ContinentName ="Pakistan",LocationValues4=199.23M,LocationValues5=22.90M },
                };

            return list2;
        }
    }


    public class List3
    {
        public List< List1 > list{ get;set;}
        public List<List2> list2 { get; set; }
    }


}
使用系统;
使用System.Collections.Generic;
使用System.Linq;
使用系统文本;
使用System.Threading.Tasks;
命名空间项目1
{
公共课程
{
静态void Main(字符串[]参数)
{
var list1=list1.GetList1();
var list2=list2.GetList12();
//List3 m=新的List3();
//m、 列表=列表1;
//m、 list2=list2;
列表m=新列表();
m、 添加(列表1);
//这里这一行是错误的,我需要添加并获取值的列表1和值的列表2。
foreach(变量x,单位:m)
{
//这里我必须添加list1值和list2值
变量x=列表1.LocationValues1+列表2.LocationValues4;
控制台写入线(x);
}
Console.ReadLine();
}
}
公共类列表1{
公共字符串位置名称{get;set;}
公共十进制位置值1{get;set;}
公共十进制位置值2{get;set;}
公共可为空的CreatedDate{get;set;}
公共静态列表GetList1()
{
var list1=新列表
{
新列表1{LocationName=“Africa”,LocationValues1=199.23M,LocationValues2=22.90M},
新列表1{LocationName=“Africa”,LocationValues1=199.23M,LocationValues2=22.90M},
新列表1{LocationName=“Africa”,LocationValues1=199.23M,LocationValues2=22.90M},
新列表1{LocationName=“Africa”,LocationValues1=199.23M,LocationValues2=22.90M},
};
返回列表1;
}
}
公共类列表2
{
公共字符串名称{get;set;}
公共十进制位置值4{get;set;}
公共十进制位置值5{get;set;}
公共可为空的CreatedDate{get;set;}
公共静态列表GetList12()
{
var list2=新列表
{
新列表2{ContinentName=“Asia”,位置值4=199.23M,位置值5=22.90M},
新列表2{ContinentName=“Africa”,位置值4=199.23M,位置值5=22.90M},
新列表2{ContinentName=“澳大利亚”,位置值4=199.23M,位置值5=22.90M},
新列表2{ContinentName=“巴基斯坦”,位置值4=199.23M,位置值5=22.90M},
};
返回列表2;
}
}
公共类列表3
{
公共列表列表{get;set;}
公共列表列表2{get;set;}
}
}

列表3应该包含您想要的元素,而不是列表。前

public class List3
{
    public string LocationName { get; set; }
    public decimal LocationValues14 { get; set; }
    public decimal LocationValues25 { get; set; }
    public Nullable<System.DateTimeOffset> CreatedDate { get; set; }
}
公共类列表3
{
公共字符串位置名称{get;set;}
公共十进制位置值14{get;set;}
公共十进制位置值25{get;set;}
公共可为空的CreatedDate{get;set;}
}
现在使用列表1或2的长度(它们是相同的)并选择列表元素的变量。通过创建新对象并将其添加到list3来构建新列表

for(var i = 0; i < list1.Count; i++)
{
    List3 newElementList3 = new List3(){
        CreatedDate = list1[i].CreatedDate,
        LocationName = list1[i].LocationName,
        LocationValues14 = list1[i].LocationValues1 + list2[i].LocationValues4,
        LocationValues25 = list1[i].LocationValues2 + list2[i].LocationValues5,
    };

    list3.Add(newElementList3);
}
for(变量i=0;i
希望是你想的那个问题:p

请不要为“列表1”之类的项目命名


干杯

你有苹果和梨,想做苹果酱吗?是否有一个具有所有这些属性的公共类,或者您希望选择什么?您能否提供一些所需结果的示例?假设我们有
[10.0,20.0]
作为
list1
[18.0,27.0]
作为
list2
;那么所需的
列表
值是什么?所有的标签是什么?我肯定你没有同时使用所有这些版本。你为什么停在c#-4.0?你的代码充满了错误,甚至无法编译。例如:
m.Add(list1)不起作用,因为
list1
不是
List3
list1的类型。LocationValues1
不能起作用,因为
list1
不包含属性
LocationValues1
,因为
list1
列表,而不是类
list1
的对象。请更正错误,以便我们可以测试您的代码并更详细地描述您的需求。此外,你的十几个嵌套列表的整个结构非常混乱,不可能理解你想要实现什么,请具体说明。