将多个IEnumerable对象视为单个IEnumerable

Ars*_*nko 0 c# linq join

我的问题似乎很容易,但我无法弄清楚.

假设我有一个"根"IEnumerable对象.每个对象都有IEnumerable字符串.如何获得这些字符串的单个IEnumerable?

可能的解决方案是:

public IEnumerable<string> DoExample()
{
    foreach (var c in rootSetOfObjects)
    {
        foreach (var n in c.childSetOfStrings)
        {
            yield return n;
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

但也许Linq有一个神奇的解决方案?

Bry*_*tts 5

rootSetOfObjects.SelectMany(o => o.childSetOfStrings)
Run Code Online (Sandbox Code Playgroud)