访问c#中的子列表

时间:2018-06-04 16:27:38

标签: c# list access sublist

所以我有一个包含字符串列表的List

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

我目前遇到的问题是访问子列表并编写其内容,如:

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

带有双重&#34;&#34;的部分在开始和结束是什么不起作用,我不明白如何做到这一点。我希望有人可以帮助我。

3 个答案:

答案 0 :(得分:1)

您应该执行以下操作,以便访问列表中的项目

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

答案 1 :(得分:1)

由于您的目标是存储一组列表并按唯一名称访问每个列表,因此您应该使用字典:

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

您可以为每个子列表命名并访问它们以这种方式通过名字。

答案 2 :(得分:1)

使用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
...