private static void ImprimirMelhorNota(Aluno aluno) { Console.WriteLine("Melhor nota: {0}", aluno?.MelhorAvaliacao?.Nota); }
private static Avaliacao GetMelhorNota(Aluno marty) { return(marty.Avaliacoes .OrderByDescending(a => a.Nota) .FirstOrDefault()); }
public async void Main() { WriteLine("10. Inicializadores de Índice"); StreamWriter logAplicacao = new StreamWriter("LogAplicacao.txt"); try { await logAplicacao.WriteLineAsync("Aplicação está iniciando..."); Aluno aluno = new Aluno("Marty", "McFly", new DateTime(1968, 6, 12)) { Endereco = "9303 Lyon Drive Hill Valley CA", Telefone = "555-4385" }; await logAplicacao.WriteLineAsync("Aluno Marty McFly foi criado..."); WriteLine(aluno.Nome); WriteLine(aluno.Sobrenome); WriteLine(aluno.NomeCompleto); WriteLine("Idade: {0}", aluno.GetIdade()); WriteLine(aluno.DadosPessoais); aluno.AdicionarAvaliacao(new Avaliacao(1, "GEO", 8)); aluno.AdicionarAvaliacao(new Avaliacao(1, "MAT", 7)); aluno.AdicionarAvaliacao(new Avaliacao(1, "HIS", 9)); foreach (var avaliacao in aluno.Avaliacoes) { Console.WriteLine(avaliacao.ToString()); } ImprimirMelhorNota(aluno); Aluno aluno2 = new Aluno("Bart", "Simpson"); await logAplicacao.WriteLineAsync("Aluno Bart Simpson foi criado..."); ImprimirMelhorNota(aluno2); aluno.PropertyChanged += Aluno_PropertyChanged; aluno.Endereco = "Rua Vergueiro, 3185"; aluno.Telefone = "555-1234"; Aluno aluno3 = new Aluno("Charlie", ""); await logAplicacao.WriteLineAsync("Aluno Charlie Brown foi criado..."); } catch (ArgumentException exc) when(exc.Message.Contains("não informado")) { string msg = $"Parâmetro {exc.ParamName} não foi informado!"; await logAplicacao.WriteLineAsync(msg); Console.WriteLine(msg); } catch (ArgumentException exc) { const string msg = "Parâmetro com problema!"; await logAplicacao.WriteLineAsync(msg); Console.WriteLine(msg); } catch (Exception exc) { await logAplicacao.WriteLineAsync(exc.ToString()); Console.WriteLine(exc.ToString()); } finally { await logAplicacao.WriteLineAsync("Aplicação terminou."); logAplicacao.Dispose(); } }
public async void Main() { Console.WriteLine("10. Inicializadores De Índice"); StreamWriter logger = new StreamWriter("LogDoCurso.txt"); try { Aluno marty = new Aluno("Marty", "McFly", new DateTime(1968, 06, 12)) { Endereco = "9303 Lyon Drive Hill Valley CA", Telefone = "555-4385" }; await logger.WriteLineAsync("Aluno Marty McFly criado"); Console.WriteLine(marty.Nome); Console.WriteLine(marty.Sobrenome); Console.WriteLine(marty.DadosPessoais); Avaliacao melhorAvaliacao = GetMelhorNota(marty); Console.WriteLine("Melhor Nota: {0}", melhorAvaliacao?.Nota); marty.AdicionarAvaliacao(new Avaliacao(1, "GEO", 8)); marty.AdicionarAvaliacao(new Avaliacao(1, "MAT", 6)); marty.AdicionarAvaliacao(new Avaliacao(1, "HIS", 7)); melhorAvaliacao = GetMelhorNota(marty); Console.WriteLine("Melhor Nota: {0}", melhorAvaliacao?.Nota); foreach (var avaliacao in marty.Avaliacoes) { Console.WriteLine(avaliacao); } marty.PropertyChanged += (sender, eventArgs) => { Console.WriteLine($"Propriedade {eventArgs.PropertyName} mudou!"); }; marty.Endereco = "novo endereço"; marty.Telefone = "7777777"; Aluno biff = new Aluno("Biff", ""); } catch (ArgumentException exc) when(exc.Message.Contains("não informado")) { Console.WriteLine($"ERRO: O parâmetro '{exc.ParamName}' não foi informado!"); await logger.WriteLineAsync("Erro: " + exc.ToString()); } catch (Exception exc) { Console.WriteLine(exc.ToString()); await logger.WriteLineAsync(exc.ToString()); } finally { await logger.WriteLineAsync("O programa terminou."); logger.Dispose(); } }