什么是List<List<string>>
数据以及如何获取数据(作为字符串)?
问问题
18770 次
7 回答
20
它是字符串列表的列表。“外部”列表的每个元素都是一个字符串列表。“展平”列表的最简单方法是使用 LINQ:
var flattened = listOfLists.SelectMany(list => list);
foreach (var value in flattened)
{
Console.WriteLine(value);
}
于 2012-08-22T13:19:17.523 回答
10
List<List<string>> lists;
...
foreach (List<string> list in lists)
{
foreach (string s in list)
{
Console.WriteLine(s);
}
}
于 2012-08-22T13:21:03.703 回答
6
它是字符串列表的列表。
要获得实际的字符串,您需要遍历列表列表,然后对于每个字符串列表,遍历它以获取字符串。
foreach(var stringList in myList)
{
foreach(var aString in stringList)
{
// do someting with aString
}
}
于 2012-08-22T13:18:32.450 回答
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();
于 2012-08-22T13:20:30.520 回答
2
它意味着字符串列表列表。
例如
//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));
于 2012-08-22T17:24:02.493 回答
1
如何获取值:
foreach(List<string> CurrentList in DoubleList)
{
foreach(string TheString in CurrentList)
{
//...
}
}
这是什么意思:嗯,有点尴尬。正如其他人所说,它是一个字符串列表的列表。它的行为很像双索引数组(矩阵),例如string[i][j]
. 但是,虽然数组是预先固定的,但列表不是。
于 2012-08-22T13:19:46.227 回答
0
对于 a List<List<string>>
,您可以这样做:
// let's assume listOfListOfString = List<List<string>>
foreach(var list in listOfListOfString)
{
foreach(var string in list)
{
// ....
}
}
于 2012-08-22T13:20:03.673 回答