Você está na página 1de 41

Desenvolvimento para Internet

Data: 01/10/2006

Eduardo Henrique

Introduo
 um linguagem 100% orientada a objetos. Linguagem fortemente tipada. Um arquivo C# possui a extenso .cs. Sintaxe similar do JAVA.

Eduardo Henrique

Smbolos Especiais
 Os marcadores de incio e fim de um bloco de instrues so respectivamente: { }  Comentrios  // Comenta a linha inteira a partir do ponto de insero.  /* ... */ Comenta um bloco de instrues  Atribuio =  Fim de instruo ;
Eduardo Henrique 3

Variveis
 Sintaxe
Tipo Identificador; Ex: int x; ou Tipo Identificador = ValorInicial; Ex: int x = 0;

Eduardo Henrique

Constantes
 Palavra reservada
 const

 Sintaxe
 const Tipo Identificador = ValorI;

 Ex:
 const double pi = 3.14;

Eduardo Henrique

Tipos Enumerados
 Definio
 Usado para declarar uma enumerao, um tipo distinto que consiste em um jogo de constantes nomeadas chamadas a lista de enumerados.

 Sintaxe
 enum Identificador { lista_de_valores };

Eduardo Henrique

Tipos Enumerados
 Ex:
public class TesteEnum { enum dias {Dom = 1, Seg, Ter, Qua, Qui, Sex, Sab}; public static void Main() { int x = (int) dias.Dom; int y = (int) dias.Sab; Console.WriteLine(Dom = {0}", x); Console.WriteLine(Sab = {0}", y); } }

Eduardo Henrique

Array
 Smbolos:
[ ] Para o array em si. { } Para a lista de valores. , Separador de valores ou dimenses.

 Sintaxe
Tipo[ ] Identificador = new Tipo[Tamanho]; Tipo[ ] Identificador = new Tipo[Tamanho] {Lista_de_Valores}; // somente para tipos pr-definidos. Tipo[ ] Identificador = {Lista_de_Valores};

 Ex:
float[ ] valores = new float[10]; int[ ] numeros = new int[3] {1, 2, 3}; string[ ] mes = {dom, seg, ter, qua, qui, sex, sab};
Eduardo Henrique 8

Array
 Array multidimensional
 Possui duas ou mais dimenses. retangular quanto a sua dimenso.

 Sintaxe
 Tipo[ , ... , ] Identificador = new Tipo[ Tam,...,Tam ];

 Ex:
string [ , ] Vetor = new string[2, 2] {{aa, ab} , {ba, bb}};

Eduardo Henrique

Array
 Matrizes de Array (jagged)
 Possui dois ou mais arrays.  Cada dimenso tem o se prprio tamanho, no sendo portanto de dimenso retangular.

 Sintaxe
 Tipo[ ]...[ ] Identificador = new Tipo[ Tam]...[Tam ];

 Ex:
 string [ ] [ ] Matriz = new string[2] [2];
Eduardo Henrique 10

Tipos Inteiros
TIPO
byte sbyte int uint long ulong short ushort 8 bits (0 a 255) 8 bits (-127 a 128) 32 bits (-2.147.483.648 a 2.147.483.147) 32 bits (0 a 4.294.967.295) 64 bits (-9.223.372.036.854.775.808 a 9.223.372.036.854.775.807) 64 bits (0 a 18.446.744.073.709.551.615) 16 bits (-32.768 a 32.767) 16 bits (0 a 65.535)

SIGNIFICADO

Eduardo Henrique

11

Ponto Flutuante
TIPO float double decimal SIGNIFICADO 4 bytes ( 1.5 x 10 -45 a 3.4 x 1038 ). Preciso de 7 casas decimais. 8 bytes ( 1.5 x 10 -45 a 1.7 x 10308 ). Preciso de 15 casas decimais. 128 bytes ( 1.5 x 10 -45 a 1.7 x 10308 ). Preciso de 28 casas decimais.

Eduardo Henrique

12

Caractere
TIPO char SIGNIFICADO Unicode de 16 bits. O caractere char representado entre apstrofo. Ex: char sexo = M; Unicode com at 1 gigabyte. A string representada entre aspas. Ex: string sexo = M;

string*1

Obs: *1 string na verdade uma classe e no um tipo predefinido.


Eduardo Henrique 13

Operadores Lgicos
SMBOLO == != > >= < <= ! && & || || Igual Diferente Maior Maior ou Igual Menor Menor ou Igual Not (No) E (Conjuno lgica) E (Conjuno bit a bit) Ou (Disjuno lgica) Ou (Disjuno bit a bit)
Eduardo Henrique 14

SIGNIFICADO

Operadores Aritmticos
SMBOLO + * / % SIGNIFICADO adio de valor e concatenao de strings. subtrao de valores multiplicao de valores diviso de valores obtm o resto de uma diviso

Eduardo Henrique

15

Caracteres de Formatao
TIPO
C ou c E ou e F ou f G ou g P ou p X ou x

SIGNIFICADO
Representam valores monetrios Formato de Notao Cientifica. Representam o formato de Ponto Fixo. Formato Geral dos nmeros. Formato de porcentagem. Formatao para Hexadecimal.

Eduardo Henrique

16

Caracteres de Formatao
TIPO
dd dddd MM MMMM yyyy hh HH mm ss Dia por extenso. Ms com duas casas. Ms por extenso. Ano com quatro casas. Hora com duas casas no formato de 12 horas. Hora com duas casas no formato de 24 horas. Minutos com duas casas. Segundo com duas casas.
Eduardo Henrique 17

SIGNIFICADO
Dia do ms com duas casas.

Classe DateTime
Definio
Classe para trabalhar com datas. Principais mtodos.
MTODO
AddDays AddHours AddMonths AddYears Subtract

SIGNIFICADO
Soma um nmero de dias a uma data. Soma um nmero de horas a uma hora. Soma um nmero de meses a uma data. Soma um nmero de anos a uma data. Subtrai um valor de uma data e hora.
Eduardo Henrique 18

Classe DateTime
TIPO Now Today Date Day DayOfWeek DayOfYear Hour Minute Month Second Year SIGNIFICADO Exibe a data e a hora atual do servidor. Exibe a data atual do Servidor. Exibe a data com o valor setado para meia-noite Exibe o dia de uma data. Exibe o dia da semana, sendo: 0-Domingo, ... Exibe o dia do ano, sendo de 1 at 366. Exibe a hora. Exibe os minutos. Exibe o ms de uma data. Exibe os segundos. Exibe o ano de uma data.
Eduardo Henrique 19

Converso de Tipos
Existem duas formas:
 Implcita So converses automticas e nada precisa ser feito.
Ex: int i = 1; float f = i;

 Explcita

necessrio especificar a converso.

 Sintaxe (NovoTipo) Identificador. Ex: float f = 1; int i = (int) f;

Eduardo Henrique

20

Convert
 A classe Convert permite realizar vrios tipos de type cast (converses de tipos), conforme ilustrado abaixo.
MTODO
ToInt16(X) ToInt32(X) ToInt64(X) ToDateTime(X) ToString(X)

SIGNIFICADO
Tenta converter X em um short. Tenta converter X em um int. Tenta converter X em um long. Tenta converter X em um DateTime. Tenta converter X em uma string.

Eduardo Henrique

21

Mtodo Parse
 O mtodo Parse tenta realisar a converso de uma string para qualquer outro tipo, pois so implementados por todos os tipos primitivos e a classe DateTime. Ex: string s = 1; int i = int.Parse(s);

Eduardo Henrique

22

Mtodo ToString()
Definio
Converte a varivel ou objeto para string. Aceita parmetros de formao da string.

Sintaxe
Identificador.ToString (Parametros Opcionais)

Ex:
int i = 1; string s = i.ToString(c); // s R$ 1,00
Eduardo Henrique 23

Condicional (if, else)


 IF ... ELSE
if ( Condio ) { instrues; } else { instrues; }

Ex:
string msg = ; string sexo = H; if (sexo == H) msg = Homem; else msg = Mulher;
Eduardo Henrique 24

Switch
Sintaxe
switch (Atributo) { case valor1: Instrues; break; case valor2: Instrues; break; default: // Caso padro Instrues; }
Eduardo Henrique 25

Switch
 Ex:
string msg = ; switch (opcao) { case 1: msg = Ruim; break; case 2: msg = Regular; break; case 3: msg = Bom; break; case 4: msg = Otimo; break; default: msg = Excelente; break; }
26

Eduardo Henrique

Lao (While)
 Sintaxe
while (Condio verdadeira) { // Instrues }

Ex:
string x = Int i = 1; while (i < { x += i; i++; // } ; 5) // o mesmo que x = x + i Incremento

Eduardo Henrique

27

Lao (For)
 For (Inicializao da varivel de controle; Condio; Incremento ou decremento)
{ instrues }

 Ex:
string x = for (int i=0; i<5; i++) { x += i; } // Obs: i++ o incremento da varivel de controle

Eduardo Henrique

28

Lao (foreach)
 Utilizado para percorrer uma coleo. O elemento controle para andar na coleo precisa ser do mesmo tipo da coleo.  Sintaxe
foreach (Tipo identificador in Colecao) { instrues }

 Ex:
string x = ; int[] numeros = {0,1,2,3,4,5,6,7,8,9}; foreach (int i in numeros) { x += i; }

Eduardo Henrique

29

Lao (do)
 Sintaxe
do { // Instrues } while (Condio verdadeira)

Ex:
string x = ; do { x += i; i++; } while (i < 5);
Eduardo Henrique 30

Tratamento de Exceo

Estrutura
try { // Instrues desejadas } catch (<Tipo> <Identificador>) { // Instrues do erro } finally { // Instrues sempre executadas }

Eduardo Henrique

31

Tratamento de Exceo

Regras:
try e catch so obrigatrios; finally opcional;  possvel ter vrios catch, e so executados na ordem que seguem e conforme o tipo do erro.

Eduardo Henrique

32

Tratamento de Exceo
Ex:
try { SqlConnection conn = new SqlConnection(StringConexao); conn.Open(); SqlCommand comm = new SqlCommand(InstrucaoSql); comm.ExecuteNonQuery(); } catch (Exception ex) { // lblErro um componente Label lblErro.Text = ex.Message; } finaly { conn.Close(); }

Eduardo Henrique

33

Tratamento de Exceo
Throw
Palavra reservada para gerar uma nova excesso.

Sintaxe
throw new Tipo (Texto);

Ex:
throw new exception (Este o erro Tratado.);

Eduardo Henrique

34

Tratamento de Exceo
Ex:
try { SqlConnection conn = new SqlConnection(StringConexao); conn.Open(); SqlCommand comm = new SqlCommand(InstrucaoSql); comm.ExecuteNonQuery(); } catch (SqlException ex) { // lblErro um componente Label throw new Exception(Erro ao conectar com o banco de dados); } finaly { conn.Close(); }

Eduardo Henrique

35

Escopo e Acessibilidade
PALAVRA
public private static internal protected

SIGNIFICADO
Sem restrines de acesso. Limitado classe que o contm. No contm instncia. Limitado ao programa corrente. Limitado classe em que est contido, bem como aos tipos derivados da classe.

protected internal Limitado classe em que est contido, bem como aos tipos derivados da classe, ou membros do mesmo programa. virtual override partial Mtodo que permite ser sobrescrito. Usado para sobrescrever um mtodo virtual. Permite implementao de classes parciais, ou em colaborao.
Eduardo Henrique 36

NameSpace
Definio
Agrupamento lgico de classes.

Sintaxe
namespace Identificador_NameSpace { // Implementao de classe(s) }

Eduardo Henrique

37

NameSpace
Estrutura interna
O .Net Framework j possui alguns namespaces para facilitar o uso da ferramenta em implementaes de solues. Ver figura do prximo slide.

Eduardo Henrique

38

Bibliotecas do Framework .Net


.Net Framework Class Library

System

System.Security

System.Runtime. InteropServices System.Globalization

System.Net

System.Text

System.Reflection

System.Threading

System.Configuration

System.IO

System.Diagnostics

System.Collections

Eduardo Henrique

39

System
Toda estrutura de classes, structs, interface e outros componentes esto contidos no namespace System. System o namespace principal. Todos os demais herdam do System.

Eduardo Henrique

40

Referencias Bibliogrficas
Sites
www.msdnbrasil.com.br www.juliobattisti.com.br www.bufaloinfo.com.br

Livros
Mesbah Ahmed, Chris Garret, Jeremy Faircloth. ASP.NET Guia do Desenvolvedor Web. Editora Alta Books
Eduardo Henrique 41

Você também pode gostar