2015-02-06 34 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); 

其中regmus分别是你的地区和博物馆名单。

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

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

非常干净,假设“OP”知道如何理解,@Christos同样好,也是有效的 – MethodMan 2015-02-06 20:17:24

相关问题