Fundamentos de C#

39
Laboratório de Programaçã o Fundamentos de C# Fábio de Paula Santos [email protected]

Transcript of Fundamentos de C#

Page 1: Fundamentos de C#

Laboratório deProgramaçãoFundamentos de C#Fábio de Paula Santos

[email protected]

Page 2: Fundamentos de C#

Fundamentos de C#

Tipos C# é uma linguagem “tipada” Deve-se declarar o tipo de cada objeto criado O tipo do objeto mostra ao compilador o tamanho

do objeto na memória

Page 3: Fundamentos de C#

Tipos de dados primitivos Também conhecidos por tipos intrínsicos ou

embutidos O mapeamento de tipos primitivos do C#

para os tipos do .NET subjacentes garante que os objetos criados em C# possam ser utilizados de modo intercambiável com objetos criados em qualquer outra linguagem compatível com a CLS do .NET, como o VB.NET.

Page 4: Fundamentos de C#

Alguns tipos de dadosTIPO TAMANHO

(em bytes)TIPO .NET DESCRIÇÃO

char 2 Char Caracteres unicode

bool 1 Boolean Verdadeiro ou falso

int 4 Int32 Inteiros

float 4 Single Numero de ponto flutuante

double 8 Double Ponto flutuante de dupla precisão

Page 5: Fundamentos de C#

TiposTipo Classe Valores Permitidossbyte System.SByte -128 a 127

byte System.Byte 0 a 255

short System.Int16 -32768 a 32767

ushort System.UInt16 0 a 65535

int System.Int32 -2147483648 a 2147483647

uint System.UInt32 0 a 4294967295

long System.Int64 -9223372036854775808 a9223372036854775807

ulong System.UInt64 0 a 18446744073709551615

Page 6: Fundamentos de C#

TiposTipo Classes Valores Permitidosfloat System.Single 1,5x10-45 a 3,4x1038

double System.Double 5,0x10-324 a 1,7x10308

decimal System.Decimal 1,0x10-28 a 7,9x1028

char System.Char Caracteres Single Unicode (0 a 65535)

bool System.Boolean true ou false

string System.String Uma seqüência de caracteres

Page 7: Fundamentos de C#

String armazena uma string de caracteresstring MinhaString; string MinhaString = “Hello World”

Page 8: Fundamentos de C#

Tipos Complexos Enumerações

Permite criar um tipo de dado que aceita apenas umvalor dentre um conjunto fixo de possibilidades

enum orientacao : byte{

norte = 1,sul = 2,leste = 3,oeste = 4

}

orientacao minhaDirecao = orientacao.norte;

Page 9: Fundamentos de C#

Tipos Complexos Estruturas

Permite criar um tipo de dado através da combinaçãode outros tipos de dados simples e complexos

struct rota{

public orientacao direcao;public double distancia;

}

rota minhaRota;minhaRota.direcaominhaRota.distancia

= orientacao.norte;= 2.5;

Page 10: Fundamentos de C#

Tipos Complexos Arrays

São listas indexadas de variáveis Os membros individuais de um array

são chamados de elementos Todos os elementos de um array são do

mesmotipo (tipo-base)

Podemos acessar cada elemento de um arrayatravés de seu índice

Os índices de um array iniciam em 0

Page 11: Fundamentos de C#

Tipos Complexos Declaração de Arraysint[] myArray;

Declaração e Inicialização de Arraysint[]

int[]

int[]

myArray

myArray

myArray

= {1,2,3,4,5};

=

=

new int[5];

new int[3] {1,2,3};

Page 12: Fundamentos de C#

Conversão de tipos Conversão implícita:short x = 5;int y = x;

Conversão explícita ( cast ) :short x;int y=500;x = ( short ) y;

Page 13: Fundamentos de C#

Conversão de tiposComando Resultado

Convert.ToBoolean(val) val é convertido para bool.Convert.ToByte(val) val é convertido para byte.Convert.ToChar(val) val é convertido para char.Convert.ToDecimal(val) val é convertido para decimal.Convert.ToDouble(val) val é convertido para double.Convert.ToInt16(val) val é convertido para short.Convert.ToInt32(val) val é convertido para int.Convert.ToInt64(val) val é convertido para long.Convert.ToSByte(val) val é convertido para sbyte.Convert.ToSingle(val) val é convertido para float.Convert.ToString(val) val é convertido para string.Convert.ToUInt16(val) val é convertido para ushort.Convert.ToUInt32(val) val é convertido para uint.Convert.ToUInt64(val) val é convertido para ulong.

Page 14: Fundamentos de C#

Identificadores Nomes que os programadores escolhem

para seus tipos, métodos, variáveis, constantes, objetos

A Microsoft recomenda a notação camelo (inicial minúscula, como em algumNome) para nomes de variáveis e a notação do Pascal ( inicial maiúscula, como em AlgumNome) para nomes de métodos e outros identificadores

Page 15: Fundamentos de C#

Váriáveis e Constantes Variável: Local de armazenamento com um

tipo de dado Constante: “variável” cujo valor não pode ser

alteradox = 32; //constante literalconst int PontoDeCongelamento = 32; //

constante simbólica

Page 16: Fundamentos de C#

Constantes Nativas

null true false

Definidas pelo programador const <tipo> <nome> = <valor>;const string myString = “.NET”;

Page 17: Fundamentos de C#

Variáveis Regras de Nomenclatura

O primeiro caractere deve ser uma letra ou umsublinhado (“_”) ou “@”

Os caracteres subseqüentes podem ser letras, sublinhados ou números

Declaração <tipo> <nome>;int idade;

Atribuição Utiliza-se o operador de atribuição (=)idade = 26;

Page 18: Fundamentos de C#

Operadores Atribuição (= ) Operadores matemáticos Operadores aritméticos simples( +,-,*,/) Operador de módulo (%) Operador de incremento e decremento ( ++, --) Operadores de cálculo e reatribuição ( +=,-=) Operadores prefixos e sufixos Operadores relacionais ( ==,!=,>,>=)

Page 19: Fundamentos de C#

Operadores Aritméticos Unários – atuam sobre apenas um operando

Menos unário (-): multiplica o operando por -1 A expressão -x equivale a x = x * (-1)

Decremento (--): decrementa o operando em uma unidade A expressão x-- equivale a x = x – 1

Incremento (++): incrementa o operando em umaunidade A expressão x++ equivale a x = x + 1

Page 20: Fundamentos de C#

Operadores Aritméticos Binários – atuam sobre dois operandos

Adição (+) Subtração (-) Multiplicação (*) Divisão (/) Modulus (%)

Exemplos:• x = 10 + 5; x igual a 15• x = 10 - 5; x igual a 5• x = 10 * 5; x igual a 50• x = 10 / 5; x igual a 2• x = 11 % 5; x igual a 1

Page 21: Fundamentos de C#

Operadores Relacionais São usados para comparar expressões e

resultam em falso ou verdadeiro Igual a (==) Maior que (>) Menor que (<) Maior ou igual a (>=) Menor ou igual a (<=) Diferente de (!=)

Exemplos:• 1 == 1• 2 > 1• 2 < 1• 2 >= 1• 2 <= 2• 2 != 2

retorna verdadeiro retorna verdadeiro retorna falso retorna verdadeiro retorna verdadeiro retorna falso

Page 22: Fundamentos de C#

Operadores Lógicos Binários

Operador AND (&&) Resulta em verdadeiro se ambas expressões forem

verdadeiras

Operador OR (||) Resulta em verdadeiro se pelo menos uma expressão for

verdadeira

Unários Operador NOT (!)

Resulta em verdadeiro se a expressão for falsa

Page 23: Fundamentos de C#

Expressões Declarações que avaliam um valorminhaVariavel = 57;a = b = c= 20;

Page 24: Fundamentos de C#

Declarações if...else If aninhadas Switch Iteração ( while, do..while, for) Continue e break

Page 25: Fundamentos de C#

A instrução if

< var2”);if(var1 < var2)Console.WriteLine(“var1

elseif(var1 == var2)

== var2”);Console.WriteLine(“var1else

Console.WriteLine(“var1 > var2”);

Page 26: Fundamentos de C#

A instrução switchswitch(x){case 1:

Console.WriteLine(“x igual a 1”);break;

case 2:Console.WriteLine(“x igual a 2”);break;

diferente de 1 edefault:

Console.WriteLine(“x2”);

break;}

Page 27: Fundamentos de C#

Laço for

int i;

i <= 10; i++)for(i=0;{Console.WriteLine(“{0}\n”, i);

}

Page 28: Fundamentos de C#

namespace ConsoleApplication1{

class Program{

static void Main(string[] args){

for (int i = 0; i < 100; i++){

Console.Write("{0} ", i); if (i % 10 == 0){

Console.WriteLine("\t{0}", i);

}}Console.ReadLine();

}}

}

Page 29: Fundamentos de C#

namespace ConsoleApplication11{

class Program{

static void Main(string[] args){

for (int i = 0; i < 100; i++){

Console.Write("{0} ", i); if (i % 10 == 0){

Console.WriteLine("\t{0}", i);

}} {0}", i);Console.WriteLine("\n Valor final de i:Console.ReadLine();

}}

} A nova linha falha pois a variável i não está disponível fora do escopo do loop

Page 30: Fundamentos de C#

Laço while

int i = 0;

<= 10)while(i{Console.WriteLine(“{0}\n”, i++);

}

Page 31: Fundamentos de C#

Laço foreach

string Amigos[] = {“Maria”, “Joao”};

Amigo in Amigos)foreach(string{Console.WriteLine(Amigo);

}

Page 32: Fundamentos de C#

Entrada e saída de dados Entrada de dados

TextBox, CheckBox, RadioButton, ComboBox, Button, …

Saída de dados Label, MessageBox, …

32/15

Page 33: Fundamentos de C#

Caixa de texto

TextBox Principais propriedades

Text MaxLength Multline PasswordChar ForeColor BackColor

33/15

Page 34: Fundamentos de C#

Caixa de texto

ExemplostxtResposta.Text = “Sim”;txtOpcao.Text = txtTipo.Text;txtNome.Text = “”;

34/15

Page 35: Fundamentos de C#

Saída de dados

35/15

Label Principal propriedade: Text

MessageBox Classe que exibe uma caixa de

mensagem contendo texto, botões e símbolos

Utilização do método Show

Page 36: Fundamentos de C#

Saída de dados

36/15

ExemploslblPais.Text = “Brasil”; lblResposta.Text = txtOpcao.Text; lblResultado.Text = “”;MessageBox.Show(“Aula de I2LP1”);MessageBox.Show(txtTipo.Text);MessageBox.Show(“Mensagem”, “Título”,

MessageBoxButtons.OK, MessageBoxIcon.Error);

Page 37: Fundamentos de C#

Exemplo Programa que exibe uma MessageBox

contendo o que foi digitado numa TextBox

label

textBox

button

37/15

messageBox

Page 38: Fundamentos de C#

Exemplo Propriedades

38/15

objeto name outras propriedadesForm frmExemplo Text = Exemplo

Label lblExemplo Text = Forneça uma informação:

TextBox txtInformacao

Button btnExibir Text = Exibir na MessageBox

Page 39: Fundamentos de C#

Exemplo Codificação do evento Click de btnExibir

39/15