Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/list/4.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# 是否仍要将一个类的对象列表添加到另一个类的另一个对象列表中,该类包含第一个类的实例,如';s属性?_C#_List - Fatal编程技术网

C# 是否仍要将一个类的对象列表添加到另一个类的另一个对象列表中,该类包含第一个类的实例,如';s属性?

C# 是否仍要将一个类的对象列表添加到另一个类的另一个对象列表中,该类包含第一个类的实例,如';s属性?,c#,list,C#,List,我有一个类别类的对象列表 我还有一个MarketData类的对象列表,其中包含Category类的实例作为其属性 MarketData类: class MarketData { private int id; private Category business; private Category location; private string companyName; private string

我有一个类别类的对象列表

我还有一个MarketData类的对象列表,其中包含Category类的实例作为其属性

MarketData类:

    class MarketData
    {
        private int id;
        private Category business;
        private Category location;
        private string companyName;
        private string mobileNum;
        private string email;
     }
如何在一行中将Category类对象列表添加到MarketData列表中,而不使用foreach循环

我不想要的foreach循环方法:

List<MarketData> marketDataList = new List<MarketData>();
List<Category> businessList = new List<Category>();

int i = 0;
foreach(Category item in businessList)
{

 marketDataList[i].Business = item;
 i++;
}
List marketDataList=newlist();
List businessList=新列表();
int i=0;
foreach(业务列表中的类别项目)
{
marketDataList[i]。业务=项目;
i++;
}
您可以使用单行生成索引集合,并使用它直接使用
Linq
循环和分配

List<MarketData> marketDataList = new List<MarketData>();
List<Category> businessList = new List<Category>();

// this a one liner formatted on many line for visibility reasons
Enumerable.Range(0, marketDataList.Count()) // generate a collection from 0 to Count
                  .ToList() // as a list
                  .ForEach(i => marketDataList[i].Business = businessList[i]); // for each index assign the value
List marketDataList=newlist();
List businessList=新列表();
//出于可见性原因,这是一个在多行上格式化的一行程序
Enumerable.Range(0,marketDataList.Count())//生成从0到Count的集合
.ToList()//作为列表
.ForEach(i=>marketDataList[i].Business=businessList[i]);//为每个索引指定值

在此处发布您的代码,而不是作为图像链接发布…@shaze您的列表是否始终包含相同数量的项目,并且订单也始终匹配?@Franck yes and yes您至少需要一个确定的循环。你是在寻找一个没有循环的解决方案,还是只需要一个线性函数就可以了,即使它包含一个循环?我不明白你为什么要去掉foreach。我觉得其他的解决方案会模糊逻辑。如果您担心代码行,可以将增量集成到赋值语句中:
marketDataList[i++].Business=item