如何创建具有两个不同列表的唯一对象?

How create a unique object with two different lists?

我有两个列表<>。但是,每个列表包含两个不同的对象。我需要在不同列表的两个对象中创建一个快乐的对象。

List1: List <Regions> reg
List2: List <Museums> mus
Object example: object NewObject <reg, mus>

可能吗? 然后我将在新页面中创建的对象

是的,你可以使用元组

reg.Zip(mus, (r,m) => Tuple.Create(r,m)).ToList();

您可以创建一个复合包装器对象,然后使用 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 };

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);

您可以创建一个具有两个属性的自定义对象:

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);

其中 regmus 分别是您拥有的地区和博物馆列表。