示例#1
0
        static void Main(string[] args)
        {
            Console.WriteLine("Olá Mundo!");
            Console.WriteLine(123);
            Console.WriteLine(10.5);
            Console.WriteLine(true);

            object conta         = new ContaCorrente(456, 687876);
            object desenvolvedor = new Desenvolvedor("454545454");

            string contaToString = conta.ToString();

            Console.WriteLine("Resultado " + contaToString);


            Cliente carlos1 = new Cliente();

            carlos1.Nome      = "Carlos";
            carlos1.CPF       = "111.111.111-11";
            carlos1.Profissao = "Jogador";

            Cliente carlos2 = new Cliente();

            carlos2.Nome      = "Carlos";
            carlos2.CPF       = "111.111.111-11";
            carlos2.Profissao = "Jogador";

            ContaCorrente conta3 = new ContaCorrente(111, 1111);

            if (carlos1.Equals(conta3))
            {
                // Feito o override do método Equals para comparar os atribustos de cada objeto na Classe Cliente;
                Console.WriteLine("Objetos Iguais");
            }
            else
            {
                Console.WriteLine("Não são Iguais");
            }

            Console.ReadLine();



            /*
             *  // Teste filtar digitos (celular), em string, independente dos caracretes antecessores;
             *
             *  //string padrao = "[0-9][0-9][0-9][0-9][-][0-9][0-9][0-9][0-9]";
             *  //string padrao = "[0-9]{4}[-][0-9]{4}";
             *  //string padrao = "[0-9]{4,5}[-]{0,1}[0-9]{4}"; // {4,5} == aceita 4 ou 5 caracteres
             *  //string padrao = "[0-9]{4,5}-{0,1}[0-9]{4}"; // [] == não necessita [] para um único caracter ex: "-"
             *  string padrao = "[0-9]{4,5}-?[0-9]{4}"; // ? substitui {0,1} tem ou não;
             *  string textoTeste = "Olá meu nome é Luan, entre em contato comigo pelo número 1234-0987";
             *  string textoTeste2 = "Olá meu nome é Luan, entre em contato comigo pelo número 912340987";
             *
             *  Match resultado = Regex.Match(textoTeste, padrao);
             *  Match resultado2 = Regex.Match(textoTeste2, padrao);
             *  Console.WriteLine("Retorna o número de telefone: " + resultado.Value);
             *  Console.WriteLine("Retona telefone: " + resultado);
             *  Console.WriteLine("Retona telefone com 5 digitos iniciais: " + resultado2);
             *  Console.ReadLine();
             */



            /*
             * //teste StartsWith e EndsWith
             * string urlTeste = "https://www.bytebank.com/cambio";
             * int indiceByteBank = urlTeste.IndexOf("https://www.bytebank.com");
             *
             * Console.WriteLine("Deve retornar True, pois string começa identica: " + urlTeste.StartsWith("https://www.bytebank.com"));
             * Console.WriteLine("Deve retornar False pois não há / no fim da string: " + urlTeste.EndsWith("cambio/"));
             * Console.WriteLine(urlTeste.Contains("ByteBank"));
             * Console.ReadLine();
             * /*
             * /*
             * // Teste exibir apenas a porção da string desejada
             * string url = "página?argumentos";
             *
             * int indeceInterrogacao = url.IndexOf('?');
             * Console.WriteLine(indeceInterrogacao);
             *
             * string argumentos = url.Substring(indeceInterrogacao+1);
             *
             * Console.WriteLine(argumentos);
             * Console.ReadLine();
             */



            /*
             * string urlParametros = "http://www.bytebank.com/cambios/?moedaDeOrigem=real&moedaDestino=dolar&valor=1500";
             * ExtratorValorDeArgumentosURL extratorDeValores = new ExtratorValorDeArgumentosURL(urlParametros);
             *
             *
             * string valorMoedaDestino = extratorDeValores.GetValor("moedaDestino");
             * Console.WriteLine("Valor de Moeda Destino: " + valorMoedaDestino);
             *
             * string valorMoedaOrigem = extratorDeValores.GetValor("moedaDeOrigem");
             * Console.WriteLine("Valor de Moeda Origem: " + valorMoedaOrigem);
             *
             * string valor = extratorDeValores.GetValor("valor");
             * Console.WriteLine(valor);
             *
             * Console.ReadLine();
             */



            /*
             * //Testando o metodo remove
             * string testeRemocao = "primeiraParte&parteParaRemover";
             * int indiceEComercial = testeRemocao.IndexOf('&');
             *
             * Console.WriteLine(testeRemocao.Remove(indiceEComercial, 5));
             * Console.ReadLine();
             */



            /*
             * string textoVazio = "";
             * string textoNulo = null;
             * string textoQualquer = "kjhfsdjhgsdfjksdf";
             *
             *
             * Console.WriteLine(String.IsNullOrEmpty(textoVazio));
             * Console.WriteLine(String.IsNullOrEmpty(textoNulo));
             * Console.WriteLine(String.IsNullOrEmpty(textoQualquer));
             * Console.ReadLine();
             *
             *
             *
             *
             *
             *
             * ExtratorValorDeArgumentosURL extrator = new ExtratorValorDeArgumentosURL("");
             *
             * string url = "pagina?moedaOrigem=real&moedaDestino=dolar";
             *
             * int indiceInterrogacao = url.IndexOf('?');
             *
             * Console.WriteLine(indiceInterrogacao);
             *
             * Console.WriteLine(url);
             * string argumentos = url.Substring(indiceInterrogacao + 1);
             * Console.WriteLine(argumentos);
             */

            //--------------------------------------------------------------------

            /* TESTE INDEXOF
             * String texto = "Gustavo_Silva";
             *
             * if (string.IsNullOrEmpty(texto))
             * {
             *  Console.WriteLine("String vazia");
             * }
             *
             * Int32 indice = texto.IndexOf("Gustavo");
             * String texto2 = texto.Substring(indice + 1);
             *
             * Console.WriteLine("Tamanho: " + texto.Length);
             * Console.WriteLine("Indice: " + indice);
             * Console.WriteLine(texto2);*/
        }
示例#2
0
        static void Main(string[] args)
        {
            // Sintaxe de arrays:
            // TIPO[] minhaReferenciaDeArray = new TIPO[numero_de_posicoes];

            // Arrays facilitam iterar por itens do mesmo tipo
            int[] idades = new int[5];

            idades[0] = 15;
            idades[1] = 28;
            idades[2] = 35;
            idades[3] = 50;
            idades[4] = 28;

            int acumulador = 0;

            for (int i = 0; i < idades.Length; i++)
            {
                acumulador += idades[i];
            }
            Console.WriteLine($"A média de idades é {acumulador/idades.Length}");

            // Criando array de contas correntes, o tamanho deve ser informado sempre
            ContaCorrente[] contas = new ContaCorrente[5];

            contas[0] = new ContaCorrente(454, 56556);
            contas[1] = new ContaCorrente(676, 95732);
            contas[2] = new ContaCorrente(900, 12357);

            // Esta característica de informar tamanho pode prejudicar quando
            // um dos índices tenta ser acessado, causando NullReferenceException
            for (int indice = 0; indice < contas.Length; indice++)
            {
                ContaCorrente contaAtual = contas[indice];
                // Aqui cairia na exceção
                //Console.WriteLine($"Conta {indice} {contaAtual.Numero}");
            }

            //Uma alternativa é usar o recurso de inicialização de arrays
            ContaCorrente[] contas2 = new ContaCorrente[]
            {
                new ContaCorrente(455, 56400),
                new ContaCorrente(565, 68900),
                new ContaCorrente(900, 12357),
            };

            // Adicionando e removendo contas de uma ListaContaCorrente
            TesteAdicionarERemover();

            ListaContaCorrente listaContas = new ListaContaCorrente();

            for (int i = 0; i < 3; i++)
            {
                listaContas.Adicionar(new ContaCorrente(120 + i, 120 + i));
            }

            // Acessando ListaContaCorrente com índice após inclusão de um indexador na classe
            ContaCorrente conta1 = listaContas[0];

            Console.WriteLine(conta1);

            // Método para retornar conta corrente
            ContaCorrente conta2 = listaContas.GetItemNoIndice(1);

            Console.WriteLine(conta2);

            // Testando params
            TesteParams();
        }
示例#3
0
        static void Main(string[] args)
        {
            // Usando a classe List, em vez da classe Lista implementada
            List <int> inteiros = new List <int>();

            inteiros.Add(1);
            inteiros.Add(2);
            inteiros.Add(3);
            inteiros.Remove(3);
            Console.WriteLine(inteiros.Count);
            inteiros.AddRange(new int[] { 4, 5, 6 });

            // Criando uma extensão para List
            ListExtensoes.AdicionarVarios(inteiros, 1, 5687, 1987, 1567, 987);

            // Utilizando a extensão com a classe List estendida
            inteiros.AdicionarVarios(67, 45, 90);

            Console.WriteLine("Printando lista de inteiros: ");
            inteiros.PrintaList();

            // Testando método de extensão (de string, veja na classe) com argumento genérico
            string nome = "karina";

            nome.TesteGenerico <int>();
            nome.TesteGenerico <string>();

            int[] a = new int[] { 0, 1, 2 };
            int[] b = new int[] { 3, 4, 5 };

            Console.WriteLine("Printando arrays concatenadas: ");
            int[] resultado = a.Concatenar(b);
            resultado.PrintaArray();

            // Usando o tipo "var", o compilador entende que queremos armazenar o
            // nome do tipo que temos na expressão de atribuição, isto se chama
            // "Inferência de Tipo de Variável"
            var conta  = new ContaCorrente(344, 56456556);
            var contas = new List <ContaCorrente>();

            conta.Depositar(3443);

            //var idade; // Erro: "Variáveis de tipo implícito devem ser inicializadas"


            object outraConta = new ContaCorrente(344, 56456556);
            // Abaixo, não é permitido pois em object caberia uma referência a
            // qualquer classe, que não necessariamente teria o método Depositar
            //outraConta.Depositar(3443);

            var numeros = SomarVarios(1, 2, 3);

            Console.WriteLine("Somar vários: " + numeros);

            // Ordenação
            inteiros.Sort();

            Console.WriteLine("Printando lista ordenada de inteiros: ");
            inteiros.PrintaList();

            var nomes = new List <string>()
            {
                "Wellington",
                "Joana",
                "Bruna",
                "Ana"
            };

            nomes.Sort();
            Console.WriteLine("Printando lista ordenada de nomes: ");
            nomes.PrintaList();

            var novasContas = new List <ContaCorrente>()
            {
                new ContaCorrente(341, 57480),
                new ContaCorrente(342, 45678),
                new ContaCorrente(340, 48950),
                new ContaCorrente(290, 18950)
            };

            // Chama a implementação dada em IComparable:
            //novasContas.Sort(); // Lançaria uma InvalidOperationException
            // se não tivéssemos implementado a interface IComparable

            // Utilizando o comparador:
            //contas.Sort(new ComparadorContaCorrentePorAgencia());
            //novasContas.PrintaList();

            // Utilizando expressões lambda:
            IOrderedEnumerable <ContaCorrente> contasOrdenadas =
                novasContas.OrderBy(conta => conta.Numero);

            foreach (var item in contasOrdenadas)
            {
                Console.WriteLine($"Conta número {item.Numero}, ag. {item.Agencia}");
            }

            // Para se precaver contra objetos nulos, é possível expandir a expressão:

            //IOrderedEnumerable<ContaCorrente> contasOrdenadas =
            //    novasContas.OrderBy(conta => {
            //        if (conta == null)
            //        {
            //            return int.MaxValue; // Deixa no final, MinValue deixaria no começo
            //        }
            //        return conta.Numero;
            //    });

            // Exemplo com tipo sem propriedades
            var meses = new List <string>()
            {
                "janeiro", "fevereiro", "março", "abril", "maio", "junho", "julho", "agosto", "setembro", "outubro", "novembro", "dezembro"
            };

            meses.OrderBy(mes => mes);

            // Where (retorna um IEnumerable<T>):
            var maisContas = new List <ContaCorrente>()
            {
                new ContaCorrente(341, 66480),
                null,
                new ContaCorrente(340, 11111),
                null
            };

            Console.WriteLine("Filtra contas não nulas e ordena por nº de agência: ");
            var contasNaoNulas = maisContas
                                 .Where(conta => conta != null)
                                 .OrderBy(conta => conta.Agencia);

            foreach (var item in contasNaoNulas)
            {
                Console.WriteLine($"Conta número {item.Numero}, ag. {item.Agencia}");
            }
        }
        public static void TestandoString()
        {
            Cliente carlos_1 = new Cliente();

            carlos_1.Nome      = "Carlos";
            carlos_1.CPF       = "458.623.120-03";
            carlos_1.Profissao = "Designer";

            Cliente carlos_2 = new Cliente();

            carlos_2.Nome      = "Carlos";
            carlos_2.CPF       = "458.623.120-03";
            carlos_2.Profissao = "Designer";

            ContaCorrente conta = new ContaCorrente(123, 1234);

            if (carlos_1.Equals(carlos_2))
            {
                Console.WriteLine("São iguais!");
            }
            else
            {
                Console.WriteLine("Não são iguais!");
            }

            Console.ReadLine();

            Console.ReadLine();
            //Ligue no número 4444-2222
            //olá meu nome é Fulano, telefone 4444 3333


            //string padrao = "[0123456789][0123456789][0123456789][0123456789][-][0123456789][0123456789][0123456789][0123456789]";
            //string padrao = "[0-9]4[-][0-9][0-9][0-9][0-9]";
            //string padrao = "[0-9]{4,5}[-][0-9]{4}";
            //string padrao = "[0-9]{4,5}[-]{0,1}[0-9]{4}";
            string padrao       = "[0-9]{4,5}[-]?[0-9]{4}";
            string textoDeTeste = "Meu nome é Guilherme, me ligue em 944844546";

            Match resultado = Regex.Match(textoDeTeste, padrao);

            Console.WriteLine(resultado.Value);
            Console.ReadLine();

            string urlParametros = "http://www.bytebank.com/cambio?moedaOrigem=dolar&moedaDestino=real&valor=1500";
            ExtratorValorDeArgumentosURL extratorArgumentos = new ExtratorValorDeArgumentosURL(urlParametros);

            string valor0 = extratorArgumentos.GetValor("moedaOrigem");

            Console.WriteLine("Valor do moedaOrigem: " + valor0);

            string valor1 = extratorArgumentos.GetValor("moedaDestino");

            Console.WriteLine("Valor do moedaDestino: " + valor1);

            string valor2 = extratorArgumentos.GetValor("VALOR");

            Console.WriteLine("Parametro valor: " + valor2);
            Console.ReadLine();


            //Testando Replace
            string palavraOrigem = "PALAVRA";
            string termoBusca    = "pa";

            Console.WriteLine(termoBusca.ToUpper());
            Console.WriteLine(palavraOrigem.ToLower());

            termoBusca = termoBusca.Replace('p', 'P');
            Console.WriteLine(termoBusca);
            termoBusca = termoBusca.Replace('a', 'A');
            Console.WriteLine(termoBusca);

            Console.WriteLine(palavraOrigem.IndexOf(termoBusca));
            Console.ReadLine();


            string palavra       = "moedaOrigem=real&moedaDestino=dolar";
            string nomeArgumento = "moedaDestino";

            int indice = palavra.IndexOf(nomeArgumento);

            Console.WriteLine(indice);

            Console.WriteLine("Tamanho da string " + palavra.Length);
            Console.WriteLine(palavra.Substring(indice));
            Console.WriteLine(palavra.Substring(indice + nomeArgumento.Length + 1));
            Console.ReadLine();


            string textoVazio = "";
            string textoNulo  = null;
            string texto      = "dsfgsdf";

            Console.WriteLine(string.IsNullOrEmpty(textoVazio));
            Console.WriteLine(string.IsNullOrEmpty(textoNulo));


            //Teste Remoção

            string testeRemocao = "primeiraParte&12345";

            int indiceEComercial = testeRemocao.IndexOf('&');

            Console.WriteLine(testeRemocao.Remove(indiceEComercial, 4));

            Console.ReadLine();

            string url = "pagina?argumentos";
            int    indexInterrogacao = url.IndexOf('?');
            string argumentos        = url.Substring(indexInterrogacao + 1);



            Console.WriteLine(argumentos);

            Console.ReadLine();
        }
        static void Main(string[] args)
        {
            ContaCorrente conta = new ContaCorrente(847, 4567891);

            conta.Sacar(10);
        }
示例#6
0
        static void Main(string[] args)
        {
            // Entendo o Equals(object)

            Cliente carlos_1 = new Cliente();

            carlos_1.Nome      = "Carlos";
            carlos_1.CPF       = "548.233.942-03";
            carlos_1.Profissao = "Designer";

            Cliente carlos_2 = new Cliente();

            carlos_2.Nome      = "Carlos";
            carlos_2.CPF       = "548.233.942-03";
            carlos_2.Profissao = "Designer";

            ContaCorrente teste = new ContaCorrente(454, 4848426);

            if (carlos_1.Equals(carlos_2))
            {
                Console.WriteLine("São iguais.");
            }
            else
            {
                Console.WriteLine("Não são iguais.");
            }

            Console.ReadLine();

            // Analisando Console.WriteLine("Olá, mundo");

            //""Olá, mundo" é uma string
            //WriteLine é um método público estático
            // Console é uma classe pública

            //public static void WriteLine(string argumento)
            //{
            // implementação
            //}

            // Analisando Console.WriteLine(123);

            //public static void WriteLine(int argumento)
            //{
            // implementação
            //}

            // Analisando Console.WriteLine(10.5);

            //public static void WriteLine(double argumento)
            //{
            // implementação
            //}

            // Analisando Console.WriteLine(true);

            //public static void WriteLine(bool argumento)
            //{
            // implementação
            //}

            ContaCorrente conta = new ContaCorrente(456, 687876);

            Console.WriteLine($"Resultado: {conta}");
            string contaToString = conta.ToString();

            Console.WriteLine(contaToString);

            Console.ReadLine();



            // Testanto expressões regulares.
            string padrao =
                "[0-9]{4,5}(-?| )[0-9]{4}";
            string textoDeTeste = "Meu nome é Erick, me ligue 4434 4034";

            Console.WriteLine(Regex.Match(textoDeTeste, padrao));
            Console.ReadLine();

            string urlTeste       = "https://www.bytebank.com/cambio";
            int    indiceBytebank = urlTeste.IndexOf("https://www.bytebank.com/");

            bool isBytebank = urlTeste.StartsWith("https://www.bytebank.com");

            //Console.WriteLine(urlTeste.Contains("bytebank"));
            //Console.WriteLine(urlTeste.EndsWith("https://www.bytebank.com"));
            Console.WriteLine(isBytebank);
            Console.WriteLine(isBytebank);
            Console.ReadLine();



            //moedaOrigem=real&moedaDestino=dolar
            //
            // ---------

            string urlParametros = "https://www.bytebank.com/cambio?moedaOrigem=real&moedaDestino=dolar&valor=1500";
            ExtratorValorDeArgumentosURL extratorDeValores = new ExtratorValorDeArgumentosURL(urlParametros);

            string valorDestino = extratorDeValores.GetValor("moedaDestino");
            string valorOrigem  = extratorDeValores.GetValor("moedaOrigem");

            Console.WriteLine("Conversão de " + valorOrigem + " para " + valorDestino + ".");

            Console.WriteLine(extratorDeValores.GetValor("Valor"));

            Console.ReadLine();

            // Testando ToLower
            string mensagemOrigem = "PALAVRA";
            string termoBusca     = "ra";

            Console.WriteLine(termoBusca.ToUpper());
            Console.WriteLine(mensagemOrigem.IndexOf(termoBusca.ToUpper()));

            // Testando Replace

            termoBusca = termoBusca.Replace("r", "R");
            Console.WriteLine(termoBusca);

            termoBusca = termoBusca.Replace("a", "A");
            Console.WriteLine(termoBusca);
            Console.ReadLine();

            //string urlParametros = "https://www.bytebank.com/cambio?moedaOrigem=real&moedaDestino=dolar&valor=1500";
            //ExtratorValorDeArgumentosURL extratorDeValores = new ExtratorValorDeArgumentosURL(urlParametros);

            //string valorDestino = extratorDeValores.GetValor("moedaDestino");
            //string valorOrigem = extratorDeValores.GetValor("moedaOrigem");
            //Console.WriteLine("Conversão de " + valorOrigem + " para " + valorDestino + ".");

            //Console.WriteLine(extratorDeValores.GetValor("valor"));

            //Console.ReadLine();


            // Testando método Remove
            string testeRemocao     = "primeiraParte&parteParaRemover";
            int    indiceEComercial = testeRemocao.IndexOf("&");

            Console.WriteLine(testeRemocao.Remove(indiceEComercial));
            Console.ReadLine();

            // <nome>=<valor>

            string palavra       = "moedaDestino=real";
            string nomeArgumento = "moedaDestino=";

            int indice = palavra.IndexOf(nomeArgumento);

            Console.WriteLine(indice);

            Console.WriteLine("Tamanho da string " + nomeArgumento.Length);
            Console.WriteLine(palavra.Substring(indice));
            Console.WriteLine(palavra.Substring(indice + nomeArgumento.Length));
            Console.ReadLine();



            // Testando o IsNullOrEmpty
            string textoVazio = null;

            Console.WriteLine(String.IsNullOrEmpty(textoVazio));
            Console.ReadLine();

            ExtratorValorDeArgumentosURL extrator = new ExtratorValorDeArgumentosURL(null);

            string url = "pagina?moedaOrigem=real&moedaDestino=dolar";

            int indiceInterrogacao = url.IndexOf("?") + 1;

            Console.WriteLine(url);

            string argumentos = url.Substring(indiceInterrogacao);

            Console.WriteLine(argumentos);

            Console.ReadLine();
        }
示例#7
0
 public void Adicionar(ContaCorrente item)
 {
     VerificarCapacidade(Tamanho + 1);
     _itens[Tamanho] = item;
     Tamanho++;
 }
        static void Main(string[] args)
        {
            Console.WriteLine("Olá mundo!");
            Console.WriteLine(123);
            Console.WriteLine(10.5);
            Console.WriteLine(true);

            object conta = new ContaCorrente(8475, 658749);
            object dev   = new Desenvolvedor("54445454841");

            Console.WriteLine(conta);                // funciona pq toda classe no .NET deriva do tipo object
            Console.WriteLine(dev);                  // funciona pq toda classe no .NET deriva do tipo object

            string contaToString = conta.ToString(); // ToString é um metodo virtual, portanto podemos sobrescrevê-lo

            Console.WriteLine("Resultado: " + contaToString);


            Cliente carlos_1 = new Cliente();

            carlos_1.Nome      = "Carlos";
            carlos_1.CPF       = "374.637.463-77";
            carlos_1.Profissao = "Designer";

            Cliente carlos_2 = new Cliente();

            carlos_2.Nome      = "Carlos";
            carlos_2.CPF       = "374.637.463-77";
            carlos_2.Profissao = "Designer";

            if (carlos_1 == carlos_2)
            {
                Console.WriteLine("Usando operador = São iguais!");
            }
            else
            {
                Console.WriteLine("Usando operador = Não São iguais!");
            }

            if (carlos_1.Equals(carlos_2))
            {
                Console.WriteLine("Usando método EQUALS Sobrescrito São iguais!");
            }
            else
            {
                Console.WriteLine("Usando método EQUALS Sobrescrito Não São iguais!");
            }

            ContaCorrente conta_2 = new ContaCorrente(5879, 6598741);

            if (carlos_1.Equals(conta_2))
            {
                Console.WriteLine("Não pode entrar aqui");
            }
            else
            {
                Console.WriteLine("Não é igual pois uma ContaCorrente não é igual a um Cliente");
            }


            Console.ReadLine();
        }
示例#9
0
 public void Adicionar(ContaCorrente item)
 {
     VerificaCapacidade(_proximaPosicao + 1);
     _itens[_proximaPosicao] = item;
     _proximaPosicao++;
 }
示例#10
0
        static void Main(string[] args)
        {
            ContaCorrente conta = new ContaCorrente(847, 489754);

            Console.WriteLine(conta.Numero);
        }