2015-02-06 2 views
-3

У меня есть два списка <>. Каждый список содержит, однако, два разных объекта. Мне нужно создать объект, который радует внутри двух объектов разных списков.Как создать уникальный объект с двумя разными списками?

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

Возможно ли это? я затем привести объект, созданный на новой странице

ответ

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 - это списки регионов и музеев, которые у вас есть.

2

Да, вы можете использовать Кортеж

reg.Zip(mus, (r,m) => Tuple.Create(r,m)).ToList(); 
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 }; 

ИЛИ

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

очень чистый, предполагая, что 'OP' знает, как понимать, также @Christos так же хорош и действителен – MethodMan

Смежные вопросы