TransWikia.com

Проходя по списку создавать объект внутри другого

Stack Overflow на русском Asked on November 7, 2021

Вот код:

class Node
{
    static List<string> list = new List<string>(){"первый","второй","третий","четвертый"};

    public string Name { get; set; }
    public Node Node { get; set; }

    static void Load()
    {
        foreach (var @var in list)
        {
            
        }
    }
}

Что разместить в цикле foreach, что бы при запуске метода Load создался бы объект типа Node с именем первый, внутри которого был бы объект типа Node с именем второй, внутри которого был бы объект типа Node с именем третий, внутри которого был бы объект типа Node с именем четвертый?

One Answer

Очень хромает вопрос: вы куда собрались ваши узлы загружать; непонятно, зачем вам List вместо массива; одно св-во с прописной буквы, другое – со строчной, а переменная (VAR) вообще капсом; хорошие отступы... Ну да ладно:

public class Node
{
    static readonly string[] names = new[] { ... };

    public string? Name { get; set; }
    public Node? Child { get; set; }

    public static Node Load()
    {
        // checks skipped

        var curNode = new Node();
        var rootNode = curNode;

        for (var i = 0; i < names.Length - 1; i++)
        {
            var name = names[i];

            curNode.Name = name;
            curNode.Child = new Node();

            curNode = curNode.Child;
        }

        curNode.Name = names[^1];

        return rootNode;
    }
}
Примечание: Вариант рабочий, но можно доработать. Я старался не выходить за рамки модели вопроса.

Answered by return on November 7, 2021

Add your own answers!

Ask a Question

Get help from others!

© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP