Tutorial Mini Curso Csharp

  • View
    4.991

  • Download
    4

Embed Size (px)

Text of Tutorial Mini Curso Csharp

MINI-CURSO DE C# (CSHARP)

Introduo a .NET C# (CSharp) uma linguagem de programao orientada a objetos desenvolvida pela Microsoft como parte da plataforma .Net(l-se DOTNET). A sua sintaxe orientada a objetos foi baseada no C++ mas inclui muitas influencias de outras linguagens de programao, (Delphi e Java). Durante o desenvolvimento da plataforma .NET, as class libraries foram escritas originalmente num compilador/linguagem chamada Simple Managed C (SMC). Mas, em Janeiro de 1999, o Anders Hejlsberg que fora escolhido pela Microsoft para desenvolver a linguagem, forma uma equipe de desenvolvimento e d inicio criao da linguagem chamada de Cool. Um pouco mais tarde, em 2000, o projeto .NET era apresentado ao publico na Professional Developers Conference (PDC), e a linguagem Cool fora renomeada e apresentada como C#. Embora existam vrias linguagens para a plataforma .NET (como VB.NET, C++, J#), a C# considerada a LINGUAGEM do .NET, devendo-se isso ao seguinte:

Foi criada praticamente do zero para funcionar na nova plataforma, sem preocupaes de compatibilidade com cdigo de legado. O compilador C# foi o primeiro a ser desenvolvido. A maior parte das classes do .NET Framework foram desenvolvidas em C#.

A criao da linguagem, embora tenha sido feita por vrios programadores, atribuda principalmente a Anders Hejlsberg, hoje um Distinguished Engineer na Microsoft. Anders Hejlsberg fora o arquiteto de alguns compiladores da Borland, entre suas criaes mais conhecidas esto o Turbo Pascal e o Delphi. O que podemos fazer com .NET? Aplicaes Windows, aplicaes Web, Aplicaes para dispositivos mveis, componentes enfim o que vier na sua mente e o melhor voc pode fazer isso com uma linguagem de sua preferncia, voc aprende ela uma vez e pronto pode sair fazendo qualquer tipo de projeto, alis, com .NET isso no existe mais: Voc ter que aprender Tal linguagem, ao invs disso existe essa pergunta: Em qual linguagem voc trabalha?, com certeza ela j deve ser habilitada ao .NET.

Introduo a C# C# com certeza uma linguagem fcil e poderosa e voc poder comprovar isso no decorrer do mini-curso, podemos dizer que to fcil como java e to poderosa como o C++. Algumas caractersticas do C#: Case Sensitive Diferencia maisculas de minsculas Trabalha em ambiente gerenciado O programador no precisa se preocupar, por exemplo, com liberao e alocao de memria isso feito de forma automtica. Totalmente dentro do padro de POO Linguagem totalmente orientada a objetos.

Nosso primeiro programa em C# Agora que j sabemos um pouco sobre a linguagem vamos ento fazer nosso primeiro programa em C#, o famoso "Hello World". PASSOS 1 2 3 4 5 DESCRIO Crie um novo projeto to tipo WindowsForm Localize o Componente Button na ToolBox, e arraste-o para o formulrio Click duas vezes sobre o Button No evento do Button digite:MessageBox.Show("Bem Vindo ao Mini-Curso de C#");

Tecle F5 para compilar

private void button1_Click(object sender, EventArgs e) { MessageBox.Show("Bem Vindo ao Mini-Curso de C#"); }

using System; A keyword using importa o Namespace System para nosso programa, ou seja, para que todas as classes e mtodos do Namespace System possam ser usados em nosso programa. Atente-se ao ponto e virgula(;) no final da instruo. NameSpace NameSpace no .NET tem a funo de organizar as classes, para que no se misturem com outras classes de mesmo nome. So equivalentes aos pacotes do Java.

Operadores Aritmticos Em C# temos os seguintes operadores aritmticos: Operador + * / % Descrio (Adio) (Subtrao) (Multiplicao) (Diviso) (Resto/Mdulo)

Operadores de atribuio Em C# temos os seguintes operadores de atribuio: Operador = += -= *= /= %= Descrio Atribuio simples Atribuio aditiva Atribuio Subtrativa Atribuio Multiplicativa Atribuio de diviso Atribuio de mdulo

Operadores relacionais Em C# temos os seguintes operadores relacionais: Operador == > < = != Tipos de variveis: A seguinte tabela mostra os tipos do C# com sua referencia no Framework. Os tipos da tabela abaixo so conhecidos como tipos internos ou Built-in. C# Type bool byte sbyte .NET Framework type System.Boolean System.Byte System.SByte Descrio Igualdade Maior Menor Menor igual Maior igual Diferente

char decimal double float int uint long ulong object short ushort string

System.Char System.Decimal System.Double System.Single System.Int32 System.UInt32 System.Int64 System.UInt64 System.Object System.Int16 System.UInt16 System.String

Cada tipo no C# um atalho para o tipo do Framework. Isso quer dizer que se declararmos a varivel desta forma: string nome; ou dessa forma System.String nome; teremos o mesmo resultado. O atalho serve apenas para facilitar na hora de desenvolver a aplicao. A seguinte tabela mostra os tipos de variveis e os valores possveis de se armazenar em cada uma delas. C# Type Valores possveis de se armazenar bool Verdadeiro ou Falso (Valores booleandos) byte sbyte char double float int uint long ulong object 0 a 255 (8 bits) -128 a 127 (8 bits) Um caractere (16 bits) 5.0 10324 a 1.7 10308 (64 bits) 1.5 1045 a 3.4 1038 (32 bits) -2,147,483,648 a 2,147,483,647 (32 bits) 0 a 4,294,967,295 (32 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 (64 bits) Qualquer tipo.

decimal 1.0 1028 a 7.9 1028 (128 bits)

short ushort string

-32,768 a 32,767 (16 bits) 0 a 65,535 (16 bits) Seqncia de caracteres (16 bits por caractere)

Estrutura de Deciso Basicamente temos dois tipos bsicos de instrues de deciso: 1. if... else; 2. switch.. case. if... else A instruo 'if...else' usada para executar blocos de cdigo condicionalmente atravs de uma expresso Booleana ( verdadeiro ou falso ). A clausula 'else' opcional e seu contedo ser executado somente se o resultado da expresso booleana for false ( falso ). Veja o exemplo: If ( a == 5 ) MessageBox.Show("a igual a 5"); else MessageBox.Show ("a diferente de 5"); No cdigo acima na instruo 'if' ( Se ) fazemos uma verificao muito simples, onde testamos se 'a' igual a '5' caso seja verdadeiro ( true ) o cdigo logo abaixo executado, ou seja: 'System.Console.WriteLine('a igual a 5');'. Caso o resultado dessa expresso lgica seja falso, ou seja, 'a' no seja igual a '5' o cdigo do bloco 'else' (se no) ser executado, nesse caso: "System.Console.WriteLine('a diferente de 5');". Para casos onde nosso cdigo tem mais de uma linha ( o que mais comum ) devemos usar as chave '{' e '}' para delimitarmos os blocos if e/ou else, veja: if ( a == 5 && b != 2 ) { MessageBox.Show ("a igual a 5"); MessageBox.Show ("b diferente a 5"); } Neste caso temos uma verificao composta, ou seja, verificamos duas condies se 'a' igual a '5' E(&&) se 'b' diferente de '2' essa condio s resultar em verdadeiro caso as duas condies sejam verdadeiras pois estamos usando o operador lgico '&&'.

else if A instruo 'else if' usada quando temos varias condies e pra cada condio temos cdigos diferentes, ou seja, fazemos coisas diferentes para cada caso veja o exemplo: if ( a== 1) { // perceba que mesmo com uma linha s de cdigo eu posso usar os delimitadores MessageBox.Show ("a igual a 1"); } else if ( b ==2 ) { MessageBox.Show ("b igual a 2"); } else if( c ==3 ) { MessageBox.Show ("c igual a 3"); } else { MessageBox.Show ("Faz algo caso nenhuma condio seja atendida"); } Podemos 'traduzir' o 'else if' para 'se caso'. A instruo 'if' ainda pode ser emulada de forma mais simples atravs do operador '?' (interrogao) veja: int a = (expressoBooleana) ? 1 : 0; Nesse caso se a expresso Booleana seja verdadeira ( true ) a varivel 'a' receber o valor '1' e caso seja falso ( false ) a varivel recebe '0'. Veja um exemplo prtico: MessageBox.Show (a == 5 ? "Sim a igual 5" : "No a diferente de 5"); Se 'a' for igual a 5 o resultado ser: "Sim a igual 5", caso 'a' no seja igual a '5' o resultado ser: "No a diferente de 5". switch... case A instruo 'switch.. case' prove um caminho mais limpo para escrever mltiplas instrues 'if..else', veja o exemplo: switch(a) { case 1: MessageBox.Show ("a igual a 1"); break;

case 2: MessageBox.Show ("a igual a 2") break; default: MessageBox.Show ("a no igual a 1 e nem igual a 2"); break; } Colocamos a varivel 'a' dentro do 'switch' e dentro de nosso cdigo vamos verificando com o 'case' o valor de nossa varivel. No nosso cdigo temos duas possibilidades para caso seja 1 e caso seja 2 e ainda temos a opo 'default' que conhecida como 'case else', ou seja, se nenhum 'case' for atendido ela ser executada, lembrando que opcional colocar o 'default'. Estrutura de Repetio As estruturas de repetio so usadas para controlar a execuo de cdigos repetidamente at que uma condio seja verdadeira. Veja os tipos de estrutura de repetio que vamos aprender neste artigo:

Lao for Lao while Lao do.. while Lao foreach

Lao for Uma estrutura de repetio tambm conhecida como Loop/Lao. O primeiro tipo de loop que vamos estudar o 'for'. O loop 'for' trabalha checando uma condio para executar um bloco de cdigo at que essa condio seja verdadeira, no caso do loop 'for' temos que em sua syntax declarar sua inicializao, sua condio e seu incremento, veja: for (int i =0; i Aplicaes Windows e na janela Modelos marque Aplicao Windows e informe o nome da soluo , no meu caso: AcessoDadosC;

A partir da janela Ferramentas abra a guia Data e selecione o controle DataGridView arrastando-o para o formulrio e configurando sua propriedade Dock para Top. A seguir na guia Windows Forms arraste o controle Button para o formulrio e defina sua propriedade Dock para Botton. O resultado final voc v na figura abaixo:

Inclua agora o cdigo do boto C# associado ao evento Click do boto conforme abaixo:

void Button1Click(object sender, EventArgs e) { //define a string de conexao com provedor caminho e nome do banco de dados string strProvider = "Provider=Microsoft.Je