• Save
Curso de OO com C# - Parte 02 - Introdução ao C#
Upcoming SlideShare
Loading in...5
×

Like this? Share it with your network

Share

Curso de OO com C# - Parte 02 - Introdução ao C#

  • 1,751 views
Uploaded on

Curso de OO com C# - Parte 02 - Introdução ao C#

Curso de OO com C# - Parte 02 - Introdução ao C#

More in: Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
  • hey visit me : http://comtam.web10s.com/gioi-thieu-ve-com-tam-ngon-binh-duong/
    Are you sure you want to
    Your message goes here
No Downloads

Views

Total Views
1,751
On Slideshare
1,748
From Embeds
3
Number of Embeds
1

Actions

Shares
Downloads
0
Comments
1
Likes
7

Embeds 3

http://www.leonardomelosantos.com.br 3

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. Introdução ao C# Leonardo Melo Santos http://about.me/leonardomelosantos
  • 2. Conteúdo programático● Estrutura da linguagem● Entrada e saída com Console● Tipos● Variáveis● Operadores● Conversão de dados● Tratamento de erros
  • 3. Características● Linguagem criada por Anders Heijsberg, criador do Delphi;● Orientada a objetos;● Não suporta herança múltipla;● Tem um coletor de lixo (Garbage Collector);● Se quiser, pode usar ponteiros de memória (unsafe);● Influenciada por C++, Object Pascal e Java;
  • 4. Características● Case sensitive;● Fortemente tipada;● Comandos são finalizados com ";"● Bloco de código definidos por chaves; ○ Possibilidade de aninhamento de blocos;
  • 5. Método Main()● Execução da aplicação se inicia pelo método Main();● Quatro diferentes assinaturas podem ser utilizadas: ○ public static void Main() ○ public static int Main() ○ public static void Main(string[] args) ○ public static int Main(string[] args)
  • 6. Classe Console● Interface textual com o usuário;● Utilizada principalmente para entrada e saída de dados;● Pertence ao Namespace System;● Leitura de dados: ○ Console.Read() ○ Console.ReadLine()● Escrita de dados: ○ Console.Write() ○ Console.WriteLine()
  • 7. Console - Leitura de dados● Console.Read() ○ Lê um caractere digitado ○ Retorna seu valor em código ASCII ○ Retorna após finalizar comando (Tecla <Enter>)● Console.ReadLine() ○ Lê todo o texto ○ Também retorna após o <Enter> char letra = (char) Console.Read(); string texto = Console.ReadLine();
  • 8. Escrita de dados● Console.Write() ○ Escreve na linha de comando ○ “Cursor” continua após o texto● Console.WriteLine() ○ Escreve na linha de comando ○ “Cursor” passa para a próxima linhaConsole.Write(“Escreve");Console.WriteLine(“Escreve e quebra linha");
  • 9. Tipos no C#● Tipos inteiros: ○ byte, sbyte ( 8 bits ) ○ short, ushort (16 bits) ○ int, uint (32 bits) ○ long, ulong ( 64 bits)● Tipos de ponto flutuante: ○ float (precisão de 7 digitos) ○ double (precisão de 15 a 16 digitos)
  • 10. Tipos no C#● Tipo de exatidão numérica: ○ decimal (precisão de 28 casas decimais)● Tipos de caracter ○ char (caracter simples) ○ string (tipo por referencia, vários caracteres)● Tipo booleano ○ bool ■ permite apenas 2 tipos de valores: true ou false ■ 1 ou 0 não podem ser usados
  • 11. Operadores● Operadores aritméticos binários ○ Soma (+), subtração (-), divisão (/) e multiplicação (*) ○ Módulo ( % )● Operadores lógicos: ○ and (&&), or (||) , not (!)● Operadores Relacionais: ○ igual (==), diferente (ou não-igual) (!=) ○ menor (<), maior (>), maior ou igual (>=), menor ou ○ igual (<=)● Operador de atribuição ○ Atribuição (=)
  • 12. Incremento e decrementoOperadores ++ e --● Ordem é importante ○ Antes - calcula e depois retorna o valor ○ Depois – retorna o valor e depois calculaint quantidade = 10;quantidade++;int qtd = ++quantidade;
  • 13. Nomes de variáveis● Não podem iniciar com números ou caracteres especiais;● Underscore ( _ ) é permitido;● Boas práticas: ○ Propriedade começando com letra maiúscula; ○ Nomes de mpetodos começando com letra maiúscula; ○ Variáveis dentro de métodos começando com letras minúsculas; ○ Não colocar espaçamento antes ou depois do "=" ao atribuir valores em variáveis;
  • 14. Notações● Notação Pascal ○ NomeDaVariavel ○ Geralmente usada para métodos e propriedades (atributos de classe)● Notação Camelo ○ nomeDaVariavel ○ Geralmente usada para variáveis locais● Notação Húngara ○ preNomeVariavel ○ Prefixo define o tipo ○ Nomes de controles e interfaces (txtNome, cboUF)
  • 15. Conversão de tiposExistem quatro formas de conversão:● Implícita● Explícita● Classe System.Convert● Métodos Parse()
  • 16. Coversão implícita● Conversão de tipos equivalentes● O menor se transforma no maiorint valor = 40;double valorMaior = valor;
  • 17. Conversão explícitaTentativa de transformar valores compatíveis, mas nãonecessariamente tipos de dados compatíveis.int menor = 30;byte valor = menor; // Erro de compilaçãovalor = (byte)menor; // Conversão. Ufa, funcionou!menor = 300;valor = (byte)menor; // Overflow! Erro em tempo de execução
  • 18. Conversão via classe Convert● Namespace System● Contém métodos de conversão ○ Convert.ToInt32() ○ Convert.ToDateTime() ○ Convert.ToDouble() ○ ...
  • 19. Converção via parse()Geralmente usado para converte texto emnúmerostring valorEmTexto = "1000";int valorEmInt = int.Parse(valorEmTexto);double valorDouble = double.Parse(valorEmTexto);Int32 valorInt32 = Int32.Parse(valorEmTexto);Double valorDoubleWrapper = Double.Parse(valorEmTexto);
  • 20. Exercícios1. Criar Console Application Escrever autor do código na tela; Perguntar a idade; Se a idade for maior que 29, incrementa a idade; Se a idade for menor ou igual a 29, decrementa a idade; Mostrar a nova idade na tela;2. Calcular o volume de uma caixa retangular e mostrar o resultado na tela.3. Converter a temperatura em graus Fahrenheit para graus Celsius. Função: C = ((F - 32) * 5/9);
  • 21. Enumeradores
  • 22. O que é Enum?● São constantes fortemente tipadas, em que é possível determinar quais os únicos valores aceitáveis para uma variável;● Chegou para substituir as tradicionais constantes, que na verdade sempre foram tratadas como variáveis tradicionais de algum tipo primitivo;
  • 23. Constante x EnumExemplo de uso de constante sem Enum public static TIPOS_BANCO_SQLSERVER = 1; public static TIPOS_BANCO_ORACLE = 2; public static TIPOS_BANCO_MYSQL = 3; public static TIPOS_BANCO_POSGRESQL = 4;Exemplo de uso de constante com Enum public enum ModeloBancoDados { SQLServer = 1, Oracle = 2, MySQL = 3, PosgreSQL = 4 }
  • 24. Consultando itens de um EnumString[] bancos = Enum.GetNames(typeof(ModeloBancoDados));foreach(String elemento in bancos){ Console.WriteLine(elemento);}
  • 25. Exercício1. Criar três constantes que identificarão três categorias de automóvel. Em seguida, criar um Enum que possuirám as mesmas categorias definidas nas constantes. Em seguida criar dois métodos estáticos (com mesmo nome) só que um deles vai receber um Enum como parâmetro e o outro vai receber uma constante tradicional. Dentro de cada método, implementar exibição no Console de qual valor foi passado.
  • 26. Tratamento de erros
  • 27. Tratando erros em .NET● Erros são vistos como objetos● Definidos através de uma Exceção● Exceções possuem: ○ Mensagem de erro ○ Referência ao objeto que lançou o erro ○ Caminho de execução até o erro● Toda exceção herda de System.Exception
  • 28. Propriedades de uma Exception● Message: Propriedade somente leitura que contém um texto descritivo do erro● InnerException: Caso a exceção tenha sido causada por outra exceção, essa propriedade retorna a referência a ela● Source: O nome da aplicação ou do objeto que causou o erro● StackTrace: Uma string que representa as chamadas da pilha no momento em que a exceção foi lançada.
  • 29. Tratando Exceptions● Códigos que possam lançar exceções devem ser tratados● Bloco try, catch, finally ○ try: código a ser executado ○ catch: estrutura semelhante ao switch, testa o tipo da exceção e executa o tratamento ○ finally: bloco de código que é sempre executado, ocorrendo um erro ou não
  • 30. Blocos try, catch e finallytry { int numero = Convert.ToInt32("Texto");} catch (FormatException fe) { Console.WriteLine(fe.Message);} catch (Exception ex) { Console.WriteLine("Erro genérico!");} finally { Console.WriteLine("Código sempre executa!");}
  • 31. Dúvidas