You are on page 1of 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 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.

double

decimal

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 SIGNIFICADO

==
!= >

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

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 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.

mm
ss

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 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.

Second
Year

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; }
Eduardo Henrique

26

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

SIGNIFICADO
Sem restrines de acesso.

private
static internal protected

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

You might also like