private static void Main() { var tmp2 = new List<List<List<List<string>>>>(); var tmp = new List<List<List<string>>> { new List<List<string>> { new List<string> { "1", "2", "3" }, new List<string> { "4" } }, new List<List<string>> { new List<string> { "5", "6", "7" } } }; Console.WriteLine(ListExtensions.Depth<List<List<List<List<string>>>>>()); Console.WriteLine(tmp2.Depth()); Console.WriteLine(tmp2.Implode()); Console.WriteLine(tmp.Depth()); Console.WriteLine(tmp.Implode()); Console.ReadLine(); }