1

是否可以在不使用 foreach() 的情况下仅使用 LINQ 重写此函数?

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

1 回答 1

2

只需使用Enumerable.SelectMany

IEnumerable<string> Unwrap(IEnumerable<IEnumerable<string>> data)
{
    return data.SelectMany(d => d);
}
于 2012-05-02T23:53:37.187 回答