Linqを使用してListのなかのListがもつ値にアクセスしたい


以下の様な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]



[code]

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

とか

[code]

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

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



[code]

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

とか

[code]

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

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

