数组到匿名类型和重命名属性的数组

时间:2014-01-09 22:54:57

标签: c# arrays anonymous-types

我有一个班级

public class MyClass  
{  
    public string Name {get; set;}  
    public string Id {get; set;}  
}  

我在另一个班级有一个属性

public class AnotherClass
{  
    public MyClass[][] MyClassArray {get; set;} 
}  

我想从MyClassArray属性创建一个匿名对象,并重命名MyClass属性。

对于单个MyClass个对象数组,我做了这个

MyClass[] myClassArray = ...
var anonymousArray = myClassArray.Select(a => new { newName = a.Name, newId = a.Id });  

编辑

感谢Tim Schmelter

,我现在正在努力
anotherClassObject.MyClassArray.Select(a => a.Select( b => new { id = b.Id, name = b.Name}))

1 个答案:

答案 0 :(得分:2)

所以你想要一个这种匿名类型的数组数组?

var ac = new AnotherClass();
// initialization ...
var anonymousArrays = ac.MyClassArray
    .Select(ar => ar.Select(a => new { newName = a.Name, newId = a.Id })
                    .ToArray())
    .ToArray();

foreach (var arr in anonymousArrays)
foreach (var x in arr)
    Console.WriteLine("Name:{0} Id:{1}", x.newName, x.newId);