2015-05-31 5 views
1

Я создал следующий класс, чтобы организовать некоторые переменные, которые мне нужно сохранить в текстовый файл:Работа со списком списков в качестве класса в C#

public class ListOfVariablesToSave : List<List<Tuple<string, int, string>>> 
{ 
    public List<Tuple<string, int, string>> control { get; set;} 
    public List<Tuple<string, int, string>> interaction { get; set;} 

    public ListOfVariablesToSave() 
    { 
     control = new List<Tuple<string, int, string>> 
     { 
      Tuple.Create("/YD/YDC/MCSTEP", 0, ""), 
      Tuple.Create("/YD/YDC/NCSTEP", 0, ""), 
      Tuple.Create("/YD/YDC/DCSTEC", 0, ""), 
      Tuple.Create("/YD/YDC/DCTIME", 0, ""), 
      Tuple.Create("/YD/YDC/ICOUTF", 0, ""), 
      Tuple.Create("/YD/YDC/ICSHTF", 0, "") 
     }; 

     interaction = new List<Tuple<string, int, string>> 
     { 
      Tuple.Create("/YD/YDI/MICOUP", 0, ""), 
      Tuple.Create("/YD/YDI/NICOUP", 0, ""), 
      Tuple.Create("/YD/YDI/DIEZON", 0, ""), 
      Tuple.Create("/YD/YDI/I1IECN", 1, ""), 
      Tuple.Create("/YD/YDI/I1IECT", 1, ""), 
      Tuple.Create("/YD/YDI/MISTATE", 0, "") 
     }; 
    } 
} 

Однако, когда я создаю экземпляр с:

ListOfVariablesToSave myListOfVariablesToSave = 
    new ListOfVariablesToSave(); 

Я получаю список без элементов (количество = 0) .В частности, когда я пытаюсь получить доступ к списку с помощью следующего кода:

foreach (List<Tuple<string, int, string>> DB in myListOfVariablesToSave) 
{ 
    foreach (Tuple<string, int, string> varToSave in DB) 
    { 
     // DO SOMETHING. 
    } 
} 

ничего не происходит, потому что (внешний) список пуст. Что мне не хватает? Как получить доступ к спискам внутри моего внешнего списка?

ответ

3

Это потому, что вы унаследовали список, но вы не вложили в него ничего в конструкторе. Если вы хотите, чтобы два элемента, которые вы создали, чтобы стать доступными, добавьте эти две строки в конец вашего конструктора:

Add(control); 
Add(interaction); 
+0

Спасибо. Да, это была проблема. –

Смежные вопросы