using System.Collections.Generic;
public static void Main()
var files = PopulateFiles();
Console.WriteLine(PrintTree(files));
private static string PrintTree(List<File> files) {
private static List<File> PopulateFiles() {
var data = new Folder("Data");
var csv = new Folder("CSV", data);
var images = new Folder("Images", data);
var logs = new Folder("Logs");
var files = new List<File>();
files.Add(new File("A.csv", csv));
files.Add(new File("B.csv", csv));
files.Add(new File("Cats.png", images));
files.Add(new File("log_2022-05-09.log", logs));
files.Add(new File("log_2022-05-10.log", logs));
files.Add(new File("MyFace.jpg", images));
public string Name { get; init; }
public Folder? ParentFolder { get; init; }
public Folder(string name, Folder? parent = null) {
public string Name { get; init; }
public Folder Folder { get; init; }
public File(string name, Folder folder) {