доступ к подсписку в c # - PullRequest
0 голосов
/ 04 июня 2018

так что у меня есть список, содержащий список строк

List<List<string>> NameOfTheList =...

, с чем у меня сейчас проблемы - это доступ к подсписку и запись его содержимого, например:

foreach string SAMPLE in ""NameOfTheList.NameOfTheSubList?"" {
    Console.Write(SAMPLE);
}

часть с двойным "" в начале и конце - это то, что не работает, и я не понимаю, как это сделать.Я надеюсь, что кто-то может помочь мне с этим.

Ответы [ 3 ]

0 голосов
/ 04 июня 2018

Поскольку ваша цель - сохранить набор списков и получить доступ к каждому списку по уникальному имени, вы должны использовать словарь:

Dictionary<string, List<string>> ListofLists = new Dictionary<string, List<string>>();
ListofLists.Add("List A", new List<string>()); //add a sublist and  give it a name
List<string> myListA = ListofLists["List A"]; // access the sublist by name

Вы можете присвоить каждому подсписку имя и обращаться к ним по имени ввот так.

0 голосов
/ 04 июня 2018

Использование LINQ ` SelectMany должно помочь:

List<List<string>> myList = new List<List<string>>()
{
    new List<string>() { "first", "second" },
    new List<string>() { "third", "fourth" }
    //...
};

foreach (string item in myList.SelectMany(l => l))
{
    Console.WriteLine(item);
}

Вывод будет таким, как ожидалось:

first
second
third
fourth
...
0 голосов
/ 04 июня 2018

Вы должны сделать что-то вроде ниже, чтобы получить доступ к элементам в вашем списке

foreach(var ListItem in NameOfTheList)
{
     foreach(string SubListItem in ListItem)
     {
         Console.WriteLine(SubListItem );
     }
}
...