4
The problem is:
Write a program and make a function to concatenate two lists of integers into a third list that must be returned by the function, in C#.
My doubt is only on how to concatenate the list.
Code of the class representing the list (Lista)
using System;
namespace ListaLib
{
    public class Lista
    {
        /// <summary>
        /// Referência do primeiro nó (elemento) da lista
        /// </summary>
        public NoLista InicioLista { get; set; }
        /// <summary>
        /// Construtora da classe lista
        /// </summary>
        public Lista()
        {
            InicioLista = null;
        }
        /// <summary>
        /// Remove um valor da lista
        /// </summary>
        /// <param name="valor">Valor a ser removido</param>
        /// <returns>true se encontrar e false se não encontrar</returns>
        public bool Remove(int valor)
        {
            bool valorRetorno = false;
            NoLista auxiliar = InicioLista;
            // Verificar se a lista está vazia
            if (auxiliar != null)
            {
                // Percorrer  lista (navegar) até achar o nó com o valor desejado
                while ((auxiliar != null) && (auxiliar.informacao != valor))
                {
                    // Passa para o próximo elemento da lista
                    auxiliar = auxiliar.proximo;
                }
                // So atualizar a lista se o valor foi encontrado
                if (auxiliar.informacao == valor)
                {
                    // Verificar se existe um proximo elemento na lista
                    if (auxiliar.proximo != null)
                    {
                        // Remover a referencia do nó anterior
                        (auxiliar.proximo).anterior = null;
                    }
                    // Verificar se é o primeiro da lista
                    if (InicioLista.informacao == valor)
                    {
                        InicioLista = InicioLista.proximo;
                    }
                    else
                    {
                        // Verificar se existe um proximo elemento na lista
                        if (auxiliar.proximo != null)
                        {
                            (auxiliar.proximo).anterior = auxiliar.anterior;
                        }
                        // Fazer o anterior do auxiliar apontar para o proximo do auxiliar
                        (auxiliar.anterior).proximo = auxiliar.proximo;
                    }
                }
            }
            return valorRetorno;
        }
        /// <summary>
        /// Adiona um novo valor na lista
        /// </summary>
        /// <param name="valor">Valor a ser adicionado</param>
        public void Add(int valor)
        {
            NoLista novoNo = new NoLista();
            novoNo.informacao = valor;
            // Verificar se é o primeiro da lista
            if (InicioLista == null)
            {
                InicioLista = novoNo;
            }
            else
            {
                NoLista auxiliar = InicioLista;
                while (auxiliar.proximo != null)
                {
                    auxiliar = auxiliar.proximo;
                }
                auxiliar.proximo = novoNo;
                novoNo.anterior = auxiliar;
            }
        }
        }
        public void Imprime()
        {
            NoLista auxiliar = InicioLista;
            Console.WriteLine("Imprimindo a lista");
            // Percorrer a lista até o fim
            while (auxiliar != null)
            {
                // Imprimir o valor
                Console.WriteLine(auxiliar.informacao);
                // Navegar para o próximo nó
                 auxiliar = auxiliar.proximo;
            }
        }
    }
The class representing the nodes on this list (NoLista)
namespace ListaLib
{
    public class NoLista
    {
        /// <summary>
        /// Aramazena a informação
        /// </summary>
        public int informacao { get; set; }
        /// <summary>
        /// Referência para o próximo nó (elemento) na lista
        /// </summary>
        public NoLista proximo { get; set; }
        /// <summary>
        /// Referência para o nó (elemento) anterior na lista
        /// </summary>
        public NoLista anterior { get; set; }
        /// <summary>
        /// Construtora da classe NoLista
        /// </summary>
        public NoLista()
        {
            informacao = -1;
            proximo = null;
            anterior = null;
        }
    }
}
						
What would be "List"?
– Francisco
Your examples this obscure, you are treating your vestments as objects and talking in lists ... could explain better ?
– Marco Souza
@Marconciliosouza is a list that he himself implemented, very likely.
– Jéf Bueno
@LINQ that same friend, you understood me. However not being able to concatenate, has any solution for me?
– user89590
@user89590 I don’t know what you mean by concatenate, actually, I didn’t understand any of your question. If you [Dit] and make your problem clear, I’m sure I can help you, without it I can’t.
– Jéf Bueno
@user89590 Now I get the idea. It has how to [Edit] and put the structure of your list?
– Jéf Bueno
@LINQ Done look there
– user89590
@user89590 And the class noList, please
– Jéf Bueno