2015-12-30 25 views
5

Voglio un metodo per restituire un elenco che contiene più di due lista che stanno avendo due tipi di dati differenti, come:Come avere una lista con diversi tipi di dati di liste come sottoliste?

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; 

Come al precedente codice che sto ottenendo un errore

Il miglior sovraccaricato metodo match per 'System.Collections.Generic.List> .Add (System.Collections.Generic.List)' ha alcuni argomenti non validi

Si prega di qualcuno mi può suggerire l'approccio migliore per gestire questa situazione.

Grazie

+0

Perché ti piacerebbe farlo? –

+0

Devo inviare questa lista per qualche tipo di modello di generazione, C'è un altro modo per farlo? –

+0

Controlla la mia risposta: È possibile utilizzare ArrayList –

risposta

2

io non sono sicuro perché si vorrebbe mescolare oggetti come questo, ma si potrebbe utilizzare ArrayList per questo. Fare riferimento esempio qui sotto:

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 

Aggiornamento

Nel tuo caso l'usando la lista di array come qui di seguito potrebbe essere meglio

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

Che dire di creazione di un oggetto della classe, come in questo modo?

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

Impossibile fare una nuova classe :( –