22157


以下の様なListのなかにListをもつものから、foreachなどを使用せずにLinqで内側のListの要素にIEnumerableでアクセスする方法はありませんか？

[code]

    var root = new List<List<int>>();
    List<int> inner = null;
         for (var i = 1 ; i <= 11; i++){
              inner = new List<int>();
              inner.Add(i);
              root.Add(inner);
         } 
    //IEnumerable<int>でアクセスしたいが、IEnumerable<List<int>>となってしまう
    var number = from n in root select n; 
    
[/code]


CC BY-SA 3.0
2016-02-16T05:47:15.077
22155
2016-02-16T06:00:37.883
2016-02-16T06:00:37.883
4236
14429
question
c# linq
Linqを使用してListのなかのListがもつ値にアクセスしたい


アクセスしてどうしたいのかがわかりませんが、Select内でSelectすればいいのではないでしょうか？

root.Select(x=> x.Select(y=> y ));


CC BY-SA 3.0
2016-02-16T05:55:20.043
22156
2016-02-16T05:55:20.043
9331
22155
answer

[code]

    IEnumerable<int> number = from n in root
                              from m in n
                              select m;
    
[/code]

とか

[code]

    IEnumerable<int> number = root.SelectMany(n => n);
    
[/code]

とかでアクセスできます。


CC BY-SA 3.0
2016-02-16T05:59:49.930
22157
2016-02-16T05:59:49.930
4236
22155
answer