2016-04-21 101 views
-1

我有一個字符串數組:複製字符串數組另一個數組對象

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來實現?

+0

在MyField的和輸出之間,有InnerField陣列。因此你試圖從數組映射到數組,對嗎?你想如何映射它?什麼是「規則」? – Ian

+0

我從服務中得到了這個。 – Cieja

+0

@Cieja你甚至可以嘗試任何給定的答案嗎? – fubo

回答

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[]參考在assignement但已經在innerFields聲明不使用innerFields.ToArray()。然後所有MyField實例引用相同的數組。

如果你只想要MyField陣列中的MyField一個實例:

var mc = new MyClass 
{ 
    MyField = new[]{ new MyField { InnerField = innerFields.ToArray() }} 
}; 
相關問題