我有以下列表/集合,我需要将其复制到另一个列表中。但是列表没有相同数量的参数。但是对象和类型的名称是相同的。这是班级
头等舱:
public class Class1
{
int locationID{get;set;}
string locationName{get;set;}
}
第二课程:
public class Class2
{
int locationID{get;set;}
string locationName{get;set;}
string identifier{get;set;}
}
在我的方法中,我需要获取List1的值并将其复制到List2(Class2)。 List2有一个额外的参数标识符。 如何在C#??
中实现答案 0 :(得分:2)
如果类型Ext.define('MyApp.override.Internationalization',{
override:'Ext.Component',
initialize: function () {
me.callOverridden(arguments);
// Your code here.
}
});
和Class1
正式无关,则必须手动执行转换,这可以使用Linq完成,如下所示。
Class2
答案 1 :(得分:1)
Class1和Class2两个是两个不同的对象和签名,不能只从一个复制到另一个。您需要做的是迭代一个列表,创建一个新对象,复制属性值,然后将其添加到另一个列表中。
var firstList = GetFirstList() //returns List<Class1>();
var secondList = new List<Class2>();
foreach(var first in firstList)
{
var second = new Class2();
second.locationID = first.locationID;
second.locationName = first.locationName;
//you could even set the identifier property here
second.identifier = someValue;
secondList.Add(second);
}
答案 2 :(得分:0)
var l1 = new List<Class1>();
var l2 = new List<Class2>();
l2.AddRange(l1.Select(i=>new Class2() {locationID = i.locationID,
locationName = i.locationName});