2015-12-30 72 views
5

我想一個方法返回包含兩個以上,它們是具有兩種不同的數據類型,如清單列表: 如何將列表中包含不同數據類型的列表作爲子列表?

List<List<object>> parentList = new List<List<object>>(); 
List<string> childList1 = new List<string>(); 
List<DataRow> childList2 = new List<DataRow>(); 
parentList.Add(childList1); 
parentList.Add(childList2); 
return parentList; 

上面的代碼中,我得到一個錯誤

的最佳重載對於「System.Collections.Generic.List>。新增(System.Collections.Generic.List)」的方法匹配具有一些無效參數

請任何人都建議我來處理這個最好的辦法。

感謝

+0

爲什麼你想這樣做? –

+0

我必須將這些列表發送給某種生成模板,有沒有其他方法可以做到這一點? –

+0

查看我的回答:您可以使用ArrayList –

回答

2

我不知道爲什麼你會喜歡這樣的搭配對象,但你可以使用ArrayList這一點。請參考下面的例子:

List<ArrayList> data = new List<ArrayList>(); 
data.Add(new ArrayList(){12, "12"}); //Added number and string in ArrayList 
data.Add(new ArrayList() {"12", new object() }); //Added string and object in ArrayList 

更新

在你的情況下,使用數組列表,像下面可以更好

var data = new ArrayList(); 
data.Add(new List<object>()); 
data.Add(new List<string>()); 
data.Add(new List<int>()); 
3

有關創建類的一個對象作爲這樣的麼?

public class myParent 
    { 
     public List<string> childList1 = new List<string>(); 
     public List<DataRow> childList2 = new List<DataRow>(); 
    } 
public void someFun() 
    { 
     List<myParent> parentList = new List<myParent>(); 
     myParent myParentObject = new myParent(); 
     myParentObject.childList1 = new List<string>() { "sample" }; 
     myParentObject.childList2 = new List<DataRow>() { }; 
     parentList.Add(myParentObject); 
    } 
+0

無法創建一個新的類:( –

相關問題