C# 是否仍要将一个类的对象列表添加到另一个类的另一个对象列表中,该类包含第一个类的实例,如';s属性?
我有一个类别类的对象列表 我还有一个MarketData类的对象列表,其中包含Category类的实例作为其属性 MarketData类: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
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代码>。