У меня есть класс C #, который может содержать несколько дочерних элементов на нескольких уровнях.
Добавление дочерних элементов вручную будет выглядеть примерно так:
CustomClass MyClass = new CustomClass(“something”, new List<CustomClass>());
//Level 1
MyClass.Children.Add(“something”, new List<CustomClass>());
//Level 2
MyClass.Children[0].Children.Add(“something”, new List<CustomClass>());
//Level 3
MyClass.Children[0].Children[0].Children.Add(“something”, new List<CustomClass>());
Как бы я сделал это с помощью чистого циклавместо?Делать это так, не кажется «правильным»:
for (var i = 0; i < 50; i++) {
//Level 1
if (i == 0)
MyClass.Children.Add(“something”, new List<CustomClass>());
//Level 2
if (i == 1)
MyClass.Children[0].Children.Add(“something”, new List<CustomClass>());
//Level 3
if (i == 2)
MyClass.Children[0].Children[0].Children.Add(“something”, new List<CustomClass>());
// and so on up to 50 levels in this case ...
}
ВАЖНОЕ ОБНОВЛЕНИЕ: на каждом уровне мне нужно проверять, существует ли уже значение, если его нет, я добавляю его.
Спасибо, что выслушали!
Я новичок, поэтому, пожалуйста, будьте осторожны.