using System.Collections.Generic;
public static void Main()
var dataList = new List<Data>()
new Data(){ FolderId = 1, Name = "A", ParentId = null, depth = 0, path = @"1" },
new Data(){ FolderId = 2, Name = "B", ParentId = 1, depth = 1, path = @"1/2" },
new Data(){ FolderId = 4, Name = "D", ParentId = 1, depth = 2, path = @"1/2/4" },
new Data(){ FolderId = 5, Name = "E", ParentId = 2, depth = 2, path = @"1/2/5" },
new Data(){ FolderId = 6, Name = "F", ParentId = 2, depth = 3, path = @"1/2/5/6" },
new Data(){ FolderId = 7, Name = "G", ParentId = 5, depth = 3, path = @"1/2/5/7" },
new Data(){ FolderId = 3, Name = "C", ParentId = 5, depth = 1, path = @"1/3" }
foreach (var i in dataList)
Console.WriteLine(i.Name.PadLeft(i.depth +1, '-'));