如何将linq-only unwrap多维数组转换为一维?

时间:2012-05-02 23:51:04

标签: c# linq

是否可以在没有foreach()的情况下使用LINQ-only重写此函数?

    IEnumerable<string> Unwrap(IEnumerable<IEnumerable<string>> data)
    {
        var result = new List<string>();
        foreach (var d in data)
        {
            result.AddRange(d);
        }
        return result;
    }

1 个答案:

答案 0 :(得分:2)

只需使用Enumerable.SelectMany

IEnumerable<string> Unwrap(IEnumerable<IEnumerable<string>> data)
{
    return data.SelectMany(d => d);
}