嵌套泛型类型的扩展方法

时间:2014-11-09 13:45:46

标签: c# generics

我正在编写一个扩展方法,应该使用泛型泛型,例如IEnumerable<IEnumerable<T>> - 例如

public static IEnumerable<T> SelectAll<T>(this IEnumerable<IEnumerable<T>> source)
{
    return source.SelectMany(x => x);
}

现在,我如何让它接受一个实际为List<List<T>的参数?我只能让它吞下一个List<IEnumerable<T>>,有没有办法没有手动投射到那个?

1 个答案:

答案 0 :(得分:0)

它工作得很好,你遇到的问题是什么?

var w = new List<List<int>>(){
    new List<int>{2,3,4},
    new List<int>{5,3,2}
};

w.SelectAll().Dump();