netfx-System.Collections.Generic.IEnumerable.Traverse (nuget): Traverse an enumerable tree, depth or breadth first.  Example:  var dirs = new DirectoryInfo("C:\\") 	.Traverse(TraverseKind.BreadthFirst, dir => dir.EnumerateDirectories());
Keywords: netfx|enumerable|generic|linq