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);*/ }
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(); }
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); }
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(); }
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(); }
public void Adicionar(ContaCorrente item) { VerificaCapacidade(_proximaPosicao + 1); _itens[_proximaPosicao] = item; _proximaPosicao++; }
static void Main(string[] args) { ContaCorrente conta = new ContaCorrente(847, 489754); Console.WriteLine(conta.Numero); }