3
respostas

Listas dentro de classes

Pessoal, blz? Estou começando os estudos na parte de orientação, tenho experiência somente de 2 anos programando acreditem em VB6 ainda. Mas a empresa esta migrando para C#, gostaria de entender uma situação que me deixa confuso. A estrutura abaixo:

public class ITree
    {
        int Id { get; set; }

        ITree Parent { get; set; }

        List<ITree> Children { get; set; }
    } 

Se eu carregar uma árvore com 5 nós, eu teria 5 objetos? e em todos os objetos eu teria a mesma lista? Deve ser simples, mas é algo que na minha cabeça não está fazendo sentido. Gostaria de saber quando eu instanciar essa classe como seria o carregamento da mesma?

3 respostas

Boa noite, considerando que o construtor padrão da classe ITree não foi definido sua árvore teria uma lista de 5 objetos na propriedade Children e todas as instâncias de ITree da sua lista não teriam nós.

Eu estou respondendo pelo celular, mas caso ainda sinta dúvidas responde à esse tópico que tento explicar melhor utilizando código fonte.

Se tiver como explicar melhor agradeço.

O método ConvertToTree teria que ser criado, mas seria assim a chamada do mesmo. Se ajudar a me explicar e como seria esse método.

List<Tuple<int, int?>> tuples = new List<Tuple<int, int?>>()
            {
                new Tuple<int, int?>(1, null),
                new Tuple<int, int?>(2, 1),
                new Tuple<int, int?>(3, 1),
                new Tuple<int, int?>(4, 2),
                new Tuple<int, int?>(5, 3)
            };

            var data = Algorithm.ConvertToTree(tuples);