Exemple #1
0
 public void ConcatenarLista(ListaGenerica listaASerConcatenada)
 {
     this.ultimo.proximo = listaASerConcatenada.Primeiro.proximo;
     listaASerConcatenada.Primeiro.proximo = null;
     this.ultimo = listaASerConcatenada.Ultimo;
     listaASerConcatenada.Ultimo = null;
 }
        public void TestaListaGenerica()
        {
            //Instanciando a minha classe generica

            ListaGenerica <int> idades = new ListaGenerica <int>();

            idades.AdicionarVarios(1, 5, 7, 8);

            /*INTERESSANTE:
             *  int, double, bool, float nunca apontam para uma referencia, por isso eles não podem receber nullo, eles sempre recebem valores
             *
             *  nullo só pode ser atribuido a referencias, como string e não a valores como int
             *          int[] arrayDeInt = new int[5];
             *          arrayDeInt[0] = null;
             */

            var nomes = new ListaGenerica <string>();

            nomes.AdicionarVarios(
                "Guilherme",
                "Alexandre",
                "Donald",
                "Pateta"
                );
        }
        static void Main(string[] args)
        {
            #region Variáveis
            int    retorno     = 0;
            int    inteiroUm   = 10;
            int    inteiroDois = 20;
            string stringUm    = "Juliano";
            string stringDois  = "Fernand";
            #endregion Variáveis

            #region Trocar Inteiro
            Console.WriteLine("Valor variáveis inteiras antes de acionar o método Trocar");
            Console.WriteLine($"inteiroUm: {inteiroUm} inteiroDois: {inteiroDois}");
            Console.WriteLine();

            retorno = Trocar(ref inteiroUm, ref inteiroDois);

            if (retorno == -1)
            {
                Console.WriteLine("Erro ao acionar o metodo Trocar");
                return;
            }

            Console.WriteLine("Valor variáveis inteiras após acionar o método Trocar");
            Console.WriteLine($"inteiroUm: {inteiroUm} inteiroDois: {inteiroDois}");
            Console.WriteLine();
            #endregion Trocar Inteiro

            #region Trocar String
            Console.WriteLine();
            Console.WriteLine("Valor variáveis strings antes de acionar o método Trocar");
            Console.WriteLine($"stringUm: {stringUm} stringDois: {stringDois}");
            Console.WriteLine();

            Trocar(ref stringUm, ref stringDois);

            if (retorno == -1)
            {
                Console.WriteLine("Erro ao acionar o metodo Trocar");
                return;
            }

            Console.WriteLine("Valor variáveis strings após acionar o método Trocar");
            Console.WriteLine($"stringUm: {stringUm} stringDois: {stringDois}");
            Console.WriteLine();
            #endregion Trocar String

            #region Valor Máximo

            Console.WriteLine("Valor máximo comparando as variáveis inteiroUm e inteiroDois");
            Console.WriteLine($"Valor máximo inteiro {CompararMaiorValor(inteiroUm, inteiroDois)}");

            Console.WriteLine();

            Console.WriteLine("Valor máximo comparando as váriaveis stringUm e stringDois");
            Console.WriteLine($"Valor máximo string {CompararMaiorValor(stringUm, stringDois)}");

            Console.WriteLine();

            #endregion Valor Máximo

            #region Criar Lista

            //List<int> listaDeInteiros = new List<int>()
            //    {
            //        inteiroUm,
            //        inteiroDois,
            //    };

            GetLista(inteiroUm, inteiroDois, 50, 60, 70, 80).ForEach(x => { Console.WriteLine($"Inteiro: {x}"); });
            Console.WriteLine();
            GetLista(stringUm, stringDois).ForEach(x => { Console.WriteLine($"String: {x}"); });

            #endregion Criar Lista

            #region Classe Genérica

            var listaClasseGenerica = new ListaGenerica <string>();

            listaClasseGenerica.Add(stringUm);
            listaClasseGenerica.Add(stringDois);

            Console.WriteLine($"Meu registro na lista de classe genérica na posição 1 é:" +
                              $" {listaClasseGenerica.GetItem(1)}");

            #endregion Classe Genérica

            Console.ReadLine();
        }