我有两个List<>。但是,每个列表包含两个不同的对象。我需要在不同列表的两个对象中创建一个快乐的对象。
List1: List <Regions> reg
List2: List <Museums> mus
Object example: object NewObject <reg, mus>
有可能吗? 然后我带来在新页面中创建的对象
答案 0 :(得分:2)
是的,您可以使用元组
reg.Zip(mus, (r,m) => Tuple.Create(r,m)).ToList();
答案 1 :(得分:2)
您可以创建复合包装器对象,并使用object initializer syntax或提供将两个集合作为参数的构造函数。
public class CompoundObject
{
public List<Regions> Regions { get; set; }
public List<Museums> Museums { get; set; }
}
var example = new CompoundObject { Regions = reg, Museums = mus };
OR
public class CompoundObject
{
public List<Regions> Regions { get; set; }
public List<Museums> Museums { get; set; }
public CompoundObject(List<Regions> regions, List<Museums> museums)
{
Regions = regions;
Museums = Museums;
}
}
var example = new CompoundObject(reg, mus);
答案 2 :(得分:1)
您可以使用两个属性创建自定义对象:
public RegionsMuseums
{
public List<Regions> Regions {get;set;}
public List<Museums> Museums { get;set;}
public RegionsMuseums(List<Regions> regions, List<Museums> museums)
{
Regions = reg;
Museums = mu;
}
}
然后你可以创建这个对象的实例:
var obj = new RegionsMuseums(reg, mus);
其中reg
和mus
分别是您所拥有的地区和博物馆名单。