什么是List<List<string>>
以及如何获取数据(如字符串)?
答案 0 :(得分:16)
这是字符串列表的列表。 “外部”列表的每个元素都是字符串列表。 “扁平化”列表的最简单方法是使用LINQ:
var flattened = listOfLists.SelectMany(list => list);
foreach (var value in flattened)
{
Console.WriteLine(value);
}
答案 1 :(得分:5)
List<List<string>> lists;
...
foreach (List<string> list in lists)
{
foreach (string s in list)
{
Console.WriteLine(s);
}
}
答案 2 :(得分:4)
这是字符串列表的列表。
要获得实际的字符串,你需要遍历列表列表,然后对每个字符串列表迭代它以获得字符串。
foreach(var stringList in myList)
{
foreach(var aString in stringList)
{
// do someting with aString
}
}
答案 3 :(得分:2)
它正是它所读取的是一个列表(字符串列表),您可以使用SelectMany
将对象展平为List<string>
List<List<String>> objListOfListString = new List<List<string>>();
//Some code here that fills the above object
List<string> justAListOfString = objListOfListString.SelectMany(s => s).ToList();
答案 4 :(得分:1)
如何获取值:
foreach(List<string> CurrentList in DoubleList)
{
foreach(string TheString in CurrentList)
{
//...
}
}
这是什么意思:嗯,这有点尴尬。正如其他人所说,它是一个字符串列表的列表。它的行为很像双索引数组(矩阵),如string[i][j]
。但是,虽然阵列是预先固定的,但列表不是。
答案 5 :(得分:1)
隐含字符串列表。
e.g。
//Add data in inner list
var lstString = new List<string>();
Enumerable.Range(1, 10)
.ToList()
.ForEach(i => lstString.Add(string.Concat("string", i)));
//Add data in outer list
List<List<string>> lstStrings = new List<List<string>>();
Enumerable.Range(1, 5)
.ToList()
.ForEach(j => lstStrings.Add(lstString));
//To fetch data (using lambda)
lstStrings.ForEach(i => i.ForEach(j => Console.WriteLine(j)));
//使用Linq
获取数据(from x in lstStrings
from y in x
select y).ToList().ForEach(j => Console.WriteLine(j));
答案 6 :(得分:0)
对于List<List<string>>
,您可以这样做:
// let's assume listOfListOfString = List<List<string>>
foreach(var list in listOfListOfString)
{
foreach(var string in list)
{
// ....
}
}