1

List<List<string>>データを(文字列として)取得するにはどうすればよいですか?

4

7 に答える 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

の場合、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 に答える