Convert or map a class instance to a list of another one by using Lambda or LINQ?
我有以下两个班:
1 2 3 4 5 6 7 8 9 10 11 | class MyData { public List<string> PropertyList { get; private set;} public string PropertyB { get; set; } public string PropertyC { get; set; } } class MyData2 { public string PropertyA { get; set;} public string PropertyB { get; set; } public string PropertyC { get; set; } } |
如果我有MyClass的实例,我需要将其转换为MyData2的列表。我可以通过循环mydata.property list并缓存其他属性值,然后将它们插入mydata2的列表中,如下所示:
1 2 3 4 5 6 7 |
号
不确定这是否可以用Linq或lambda表达式的.NET 3.5功能来完成?
很好也很容易。您希望基于特定列表中的每个项(字符串)执行某些操作,因此请将其作为查询表达式的起点。您希望为每个字符串创建一个新项(
1 2 3 4 5 6 | var myData2List = myData.PropertyList .Select(x => new MyData2 { PropertyA = x, PropertyB = myData.PropertyB, PropertyC = myData.PropertyC }) .ToList(); |