将字符串数组复制到另一个数组对象

时间:2016-04-21 07:17:26

标签: c# .net arrays linq arraylist

我有一个字符串数组:

var a = new string[] { "a", "b", "b" };

和一个班级:

public class MyClass
{
    public MyField[] MyField {get; set;}
}

其中MyField是一个类:

public class MyField
{
    public InnerField[] InnerField{get; set;}
}

其中InnerField是:

public class InnerField 
{
    public string Output {get; set;}
}

所以我想从我的数组(a)复制到MyField[]

是否可以通过例如LINQ来制作它?

1 个答案:

答案 0 :(得分:0)

也许:

var a = new string[] { "a", "b", "b" };
var innerFields = a.Select(s => new InnerField { Output = s });
var mc = new MyClass
{
    MyField = a.Select(s => new MyField { InnerField = innerFields.ToArray() }).ToArray()
};

如果您甚至想要使用相同的InnerField[]引用,请不要在分配时使用innerFields.ToArray(),但已在声明innerFields时使用MyField。然后,所有MyField个实例都引用相同的数组。

如果您只需要MyField数组中的var mc = new MyClass { MyField = new[]{ new MyField { InnerField = innerFields.ToArray() }} }; 个实例:

{{1}}