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(); }