Introdução ao C#   Leonardo Melo Santos  http://about.me/leonardomelosantos
Conteúdo programático● Estrutura da linguagem● Entrada e saída com Console● Tipos● Variáveis● Operadores● Conversão de dad...
Características● Linguagem criada por Anders Heijsberg, criador do  Delphi;● Orientada a objetos;● Não suporta herança múl...
Características● Case sensitive;● Fortemente tipada;● Comandos são finalizados com ";"● Bloco de código definidos por chav...
Método Main()● Execução da aplicação se inicia pelo  método Main();● Quatro diferentes assinaturas podem ser  utilizadas: ...
Classe Console● Interface textual com o usuário;● Utilizada principalmente para entrada e  saída de dados;● Pertence ao Na...
Console - Leitura de dados● Console.Read()    ○ Lê um caractere digitado    ○ Retorna seu valor em código ASCII    ○ Retor...
Escrita de dados● Console.Write()  ○ Escreve na linha de comando  ○ “Cursor” continua após o texto● Console.WriteLine()  ○...
Tipos no C#● Tipos inteiros:  ○ byte, sbyte ( 8 bits )  ○ short, ushort (16 bits)  ○ int, uint (32 bits)  ○ long, ulong ( ...
Tipos no C#● Tipo de exatidão numérica:  ○ decimal (precisão de 28 casas decimais)● Tipos de caracter  ○ char (caracter si...
Operadores● Operadores aritméticos binários  ○ Soma (+), subtração (-), divisão (/) e multiplicação (*)  ○ Módulo ( % )● O...
Incremento e decrementoOperadores ++ e --● Ordem é importante  ○ Antes - calcula e depois retorna o valor  ○ Depois – reto...
Nomes de variáveis● Não podem iniciar com números ou  caracteres especiais;● Underscore ( _ ) é permitido;● Boas práticas:...
Notações● Notação Pascal  ○ NomeDaVariavel  ○ Geralmente usada para métodos e propriedades    (atributos de classe)● Notaç...
Conversão de tiposExistem quatro formas de conversão:● Implícita● Explícita● Classe System.Convert● Métodos Parse()
Coversão implícita● Conversão de tipos equivalentes● O menor se transforma no maiorint valor = 40;double valorMaior = valor;
Conversão explícitaTentativa de transformar valores compatíveis, mas nãonecessariamente tipos de dados compatíveis.int men...
Conversão via classe Convert● Namespace System● Contém métodos de conversão  ○ Convert.ToInt32()  ○ Convert.ToDateTime()  ...
Converção via parse()Geralmente usado para converte texto emnúmerostring valorEmTexto = "1000";int valorEmInt = int.Parse(...
Exercícios1. Criar Console Application   Escrever autor do código na tela; Perguntar a idade; Se a idade   for maior que 2...
Enumeradores
O que é Enum?● São constantes fortemente tipadas, em que  é possível determinar quais os únicos  valores aceitáveis para u...
Constante x EnumExemplo de uso de constante sem Enum   public   static   TIPOS_BANCO_SQLSERVER = 1;   public   static   TI...
Consultando itens de um EnumString[] bancos = Enum.GetNames(typeof(ModeloBancoDados));foreach(String elemento in bancos){ ...
Exercício1. Criar três constantes que identificarão três   categorias de automóvel. Em seguida, criar   um Enum que possui...
Tratamento de erros
Tratando erros em .NET● Erros são vistos como objetos● Definidos através de uma Exceção● Exceções possuem:  ○ Mensagem de ...
Propriedades de uma Exception● Message: Propriedade somente leitura que  contém um texto descritivo do erro● InnerExceptio...
Tratando Exceptions● Códigos que possam lançar exceções devem  ser tratados● Bloco try, catch, finally  ○ try: código a se...
Blocos try, catch e finallytry {    int numero = Convert.ToInt32("Texto");} catch (FormatException fe) {    Console.WriteL...
Dúvidas
Upcoming SlideShare
Loading in...5
×

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

1,700

Published on

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

Published in: Technology
1 Comment
9 Likes
Statistics
Notes
  • hey visit me : http://comtam.web10s.com/gioi-thieu-ve-com-tam-ngon-binh-duong/
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
No Downloads
Views
Total Views
1,700
On Slideshare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
0
Comments
1
Likes
9
Embeds 0
No embeds

No notes for slide

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

  1. 1. Introdução ao C# Leonardo Melo Santos http://about.me/leonardomelosantos
  2. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 15. Conversão de tiposExistem quatro formas de conversão:● Implícita● Explícita● Classe System.Convert● Métodos Parse()
  16. 16. Coversão implícita● Conversão de tipos equivalentes● O menor se transforma no maiorint valor = 40;double valorMaior = valor;
  17. 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. 18. Conversão via classe Convert● Namespace System● Contém métodos de conversão ○ Convert.ToInt32() ○ Convert.ToDateTime() ○ Convert.ToDouble() ○ ...
  19. 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. 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. 21. Enumeradores
  22. 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. 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. 24. Consultando itens de um EnumString[] bancos = Enum.GetNames(typeof(ModeloBancoDados));foreach(String elemento in bancos){ Console.WriteLine(elemento);}
  25. 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. 26. Tratamento de erros
  27. 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. 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. 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. 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. 31. Dúvidas

×