linguagem c# versão – 090528 prof.: mauro césar lopes
TRANSCRIPT
![Page 1: Linguagem C# Versão – 090528 Prof.: Mauro César Lopes](https://reader034.vdocuments.pub/reader034/viewer/2022051515/552fc0f9497959413d8b6d10/html5/thumbnails/1.jpg)
Linguagem C#
Versão – 090528
Prof.: Mauro César Lopes
![Page 2: Linguagem C# Versão – 090528 Prof.: Mauro César Lopes](https://reader034.vdocuments.pub/reader034/viewer/2022051515/552fc0f9497959413d8b6d10/html5/thumbnails/2.jpg)
Sumário
• Identificadores
• Tipos
• Constantes
• Enumerações
• Expressões
• Declarações
• Bloco de declarações
![Page 3: Linguagem C# Versão – 090528 Prof.: Mauro César Lopes](https://reader034.vdocuments.pub/reader034/viewer/2022051515/552fc0f9497959413d8b6d10/html5/thumbnails/3.jpg)
Identificadores
• São nomes utilizados para identificar os elementos nos seus programas. Esses elementos podem ser: namespace (espaço de nomes), classes, métodos, variáveis, etc.
• Podemos usar apenas letras, número e sublinhado para compor o nome dos identificadores
![Page 4: Linguagem C# Versão – 090528 Prof.: Mauro César Lopes](https://reader034.vdocuments.pub/reader034/viewer/2022051515/552fc0f9497959413d8b6d10/html5/thumbnails/4.jpg)
Palavras Chaves
• C# reserva 77 identificadores, os quais não poderão ser utilizados para outros propósitos
• Alguns exemplos: bool, break, char, default, enum, float, ...
![Page 5: Linguagem C# Versão – 090528 Prof.: Mauro César Lopes](https://reader034.vdocuments.pub/reader034/viewer/2022051515/552fc0f9497959413d8b6d10/html5/thumbnails/5.jpg)
Variáveis
• Uma variável é definida como um lugar onde podemos armazenar dados temporariamente e usá-los posteriormente
• Normalmente um variável possui um nome (identificador) que é usado para acessar seu conteúdo
• Uma variável poderá armazenar um número inteiro, de ponto flutuante, um caractere, uma cadeia de caracteres (String) , um valor booleano, etc.
• O nome de uma variável pode conter letras, número e ‘_’ (não pode haver sinais de pontuação e espaços em branco)
![Page 6: Linguagem C# Versão – 090528 Prof.: Mauro César Lopes](https://reader034.vdocuments.pub/reader034/viewer/2022051515/552fc0f9497959413d8b6d10/html5/thumbnails/6.jpg)
Boas práticas de programação
• Adote uma convenção de nomes que torne claras as variáveis definidas– Não utilize sublinhados nos identificadores
Exemplo:Use valorMercadoria ao invés de valor_da_mercadoria
– Não use identificadores cuja única diferença seja entre letras maiúsculas e minúsculas
– É importante notar que C# faz diferença entre letras maiúsculas e minúsculas
– Comece o nome com uma letra
![Page 7: Linguagem C# Versão – 090528 Prof.: Mauro César Lopes](https://reader034.vdocuments.pub/reader034/viewer/2022051515/552fc0f9497959413d8b6d10/html5/thumbnails/7.jpg)
Tipos de variáveis
Define o tipo de dados que a variável irá armazenar
• Inteira– byte, short, int, long
• Ponto flutuante– float, double, decimal
• Caractere– char
• Booleana– bool: valores true (verdadeiro), false (falso)
![Page 8: Linguagem C# Versão – 090528 Prof.: Mauro César Lopes](https://reader034.vdocuments.pub/reader034/viewer/2022051515/552fc0f9497959413d8b6d10/html5/thumbnails/8.jpg)
Tipos de variáveis
Tipo Tamanho (em bytes)
Tipo .NET Descrição
byte 1 Byte Sem sinal (0-255)
char 2 Char Caractere Unicode
bool 1 Boolean Booleano (Verdadeiro ou Falso)
sbyte 1 Sbyte Com sinal (-128 a 127)
short 2 Int16 Com sinal
ushort 2 UInt16 Sem sinal
int 4 Int32 Com sinal
uint 4 UInt32 Sem sinal
float 4 Single Números de ponto flutuante
double 8 Double Números de ponto flutuante de precisão dupla
decimal 16 Decimal Valores monetários
long 8 Int64 Números inteiros
ulong 8 UInt64
![Page 9: Linguagem C# Versão – 090528 Prof.: Mauro César Lopes](https://reader034.vdocuments.pub/reader034/viewer/2022051515/552fc0f9497959413d8b6d10/html5/thumbnails/9.jpg)
Tipos de variáveis (2)
Tipo Tamanho (em bytes)
Tipo .NET
Descrição
byte 1 Byte Sem sinal (0-255)
char 2 Char Caractere Unicode
bool 1 Boolean Booleano (true=Verdadeiro ou false=Falso)
short 2 Int16 Com sinal (-32.768 a 32.767)
int 4 Int32 Com sinal (-2.147.483.648 e 2.147.483.647)
float 4 Single Números de ponto flutuante. Armazena os valores de aproximadamente +/- 1,5*10-45 até aproximadamente +/-3,4*10^38 com sete número significativos. Usa o sufixo F
double 8 Double Números de ponto flutuante de precisão dupla (com 15 a 16 números significativos)
decimal 16 Decimal Valores monetários. Precisão fixa até 28 dígitos e a posição do ponto decimal. É normalmente usado em cálculos financeiros. Exibe sufixo “m” ou “M”
long 8 Int64 Números inteiros com sinal de -9.223.372.036.854.775.808 a 9.223.372.036.854.775.807
![Page 10: Linguagem C# Versão – 090528 Prof.: Mauro César Lopes](https://reader034.vdocuments.pub/reader034/viewer/2022051515/552fc0f9497959413d8b6d10/html5/thumbnails/10.jpg)
Variáveis
• Uma variável poderá ser signed (sbyte, short, int) ou unsigned (byte, ushort, uint), isto é, com sinal ou sem sinal.
• Uma variável unsigned possui apenas valores positivos
• Uma variável signed possui valores positivos e negativos
![Page 11: Linguagem C# Versão – 090528 Prof.: Mauro César Lopes](https://reader034.vdocuments.pub/reader034/viewer/2022051515/552fc0f9497959413d8b6d10/html5/thumbnails/11.jpg)
Exemplos de declaração de variáveis
• int a, idade;• char ch, caracter;• float f, valor;• double d;• string s;
Toda variável deverá ser declarada explicitamente antes de ser usada
![Page 12: Linguagem C# Versão – 090528 Prof.: Mauro César Lopes](https://reader034.vdocuments.pub/reader034/viewer/2022051515/552fc0f9497959413d8b6d10/html5/thumbnails/12.jpg)
Atribuição de valores a variáveis
• Podemos atribuir o valor a uma variável usando o símbolo ‘=‘ (operador de atribuição)
• Exemplos:
int a = 1; // atribui o valor 1 a variável inteira a
float f = -8.76F; // observe o sufixo F
char c=‘a’;
![Page 13: Linguagem C# Versão – 090528 Prof.: Mauro César Lopes](https://reader034.vdocuments.pub/reader034/viewer/2022051515/552fc0f9497959413d8b6d10/html5/thumbnails/13.jpg)
Atribuições
• Se tentarmos atribuir um número a uma propriedade do tipo texto o programa não irá compilar
• Por exemplo– value.text = 1; erro– value.text = “1”; ok, porém o número um está
sendo tratado como texto e não como número– value.text = string.Parse(1); o número um é
convertido de inteiro para uma string pelo uso do método parse da classe string
![Page 14: Linguagem C# Versão – 090528 Prof.: Mauro César Lopes](https://reader034.vdocuments.pub/reader034/viewer/2022051515/552fc0f9497959413d8b6d10/html5/thumbnails/14.jpg)
Comentários
• // comentário até o final da linha• /*
... Comentário multilinha*/
Os comentários são ignorados pelo compilador, porém são úteis aos desenvolvedores porque ajudam a comentar o que o programa está fazendo
![Page 15: Linguagem C# Versão – 090528 Prof.: Mauro César Lopes](https://reader034.vdocuments.pub/reader034/viewer/2022051515/552fc0f9497959413d8b6d10/html5/thumbnails/15.jpg)
Operadores
• Numéricos agem em valores para criar novos valores
• Lógicos ou Booleanos é um operador que faz cálculos cujo resultado é verdadeiro ou falso.
• Relacionais são usados para descobrir se um valor é menor ou maior que outro do mesmo tipo
• Binários agem sobre dois operandos
![Page 16: Linguagem C# Versão – 090528 Prof.: Mauro César Lopes](https://reader034.vdocuments.pub/reader034/viewer/2022051515/552fc0f9497959413d8b6d10/html5/thumbnails/16.jpg)
Operadores Numéricos
++, -- Incremento, decremento
+, -, *, /, % adição, subtração, multiplicação, divisão, módulo (resto)
Exemplo:
int a = 7;int b = 3;int x,y;x = a / b;y = a % b;
![Page 17: Linguagem C# Versão – 090528 Prof.: Mauro César Lopes](https://reader034.vdocuments.pub/reader034/viewer/2022051515/552fc0f9497959413d8b6d10/html5/thumbnails/17.jpg)
Operador ++
int x;int y;
x = 23;y = x++; // operador pós-fixadoConsole.WriteLine(x + " " + y); // 23 24
x = 23;y = ++x; // operador pré-fixadoConsole.WriteLine(x + " " + y); // 24 e 24
![Page 18: Linguagem C# Versão – 090528 Prof.: Mauro César Lopes](https://reader034.vdocuments.pub/reader034/viewer/2022051515/552fc0f9497959413d8b6d10/html5/thumbnails/18.jpg)
Operadores Relacionais e Lógicos (Booleanos)
Operador Ação
==, != Igual a, diferente de
>, >=, <, <= Maior que, maior ou igual a, menor que, menor ou igual a
&& “E” lógico (AND)
|| “OU” lógico (OR)
! “NÃO” lógico
Um operador booleano é um operador que faz um cálculo cujo resultado é true (verdadeiro) ou false (falso)
![Page 19: Linguagem C# Versão – 090528 Prof.: Mauro César Lopes](https://reader034.vdocuments.pub/reader034/viewer/2022051515/552fc0f9497959413d8b6d10/html5/thumbnails/19.jpg)
Operadores Lógicos
Podem ser usados para testar condições mais complexascombinando condições simples
• Operador && (“e” lógico - AND)• Operador || (“ou” lógico - OR)• Operador ! (“não” lógico - NOT)
Exemplo:
bool porcentagemValida = (porcentagem>=0) && (porcentagem<=100);
![Page 20: Linguagem C# Versão – 090528 Prof.: Mauro César Lopes](https://reader034.vdocuments.pub/reader034/viewer/2022051515/552fc0f9497959413d8b6d10/html5/thumbnails/20.jpg)
Operadores Relacionais
> Maior que
>= maior ou igual a
< menor que
<= menor ou igual a
![Page 21: Linguagem C# Versão – 090528 Prof.: Mauro César Lopes](https://reader034.vdocuments.pub/reader034/viewer/2022051515/552fc0f9497959413d8b6d10/html5/thumbnails/21.jpg)
Operadores Lógicos Bit a Bit
& “E” binário
^ “XOR” ou-exclusivo
| “OU” binário
~ “NÃO” binário
>> deslocamento de bits a direito
<< deslocamento de bits a esquerda
![Page 22: Linguagem C# Versão – 090528 Prof.: Mauro César Lopes](https://reader034.vdocuments.pub/reader034/viewer/2022051515/552fc0f9497959413d8b6d10/html5/thumbnails/22.jpg)
Operadores de igualdade e atribuição
Não confunda o operador de igualdade ‘==‘ com o operador de atribuição ‘=‘.
A expressão x==y compara x com y tem valor true se os dois valores forem idênticos e false caso contrário.
Já a expressão x=y atribui o valor de y a variável x
![Page 23: Linguagem C# Versão – 090528 Prof.: Mauro César Lopes](https://reader034.vdocuments.pub/reader034/viewer/2022051515/552fc0f9497959413d8b6d10/html5/thumbnails/23.jpg)
Expressões
• São combinações de variáveis, constantes e operadores
• Quando montamos expressões temos que considerar a ordem em que os operadores são executados
• Essa ordem é definida pela tabela de precedência
![Page 24: Linguagem C# Versão – 090528 Prof.: Mauro César Lopes](https://reader034.vdocuments.pub/reader034/viewer/2022051515/552fc0f9497959413d8b6d10/html5/thumbnails/24.jpg)
Precedência de OperadoresCategoria Operadores
Primário (x) x.y x’y f(x) a[x] x++ x– new typeof sizeof checked unchecked stackalloc
Unário + - ! ~++x –x (T)x *x &x
Multiplicativo * / %
Aditivo + -
Deslocamento << >>
Relacional < > <= >= is as
Igualdade == !=
Lógico AND &
Lógico XOR ^
Lógico OR |
Condicional AND &&
Condicional OR ||
Condicional ?:
Atribuição = *= /= %= += -= <<= &= ^= |=
![Page 25: Linguagem C# Versão – 090528 Prof.: Mauro César Lopes](https://reader034.vdocuments.pub/reader034/viewer/2022051515/552fc0f9497959413d8b6d10/html5/thumbnails/25.jpg)
Seqüência de comandos
• Um programa é uma seqüência de comandos ou instruções (executa uma ação)
<comando 1>;
<comando 2>;
...
<comando N>;
![Page 26: Linguagem C# Versão – 090528 Prof.: Mauro César Lopes](https://reader034.vdocuments.pub/reader034/viewer/2022051515/552fc0f9497959413d8b6d10/html5/thumbnails/26.jpg)
Bloco de comandos
• Um bloco é uma seqüência de instruções agrupadas entre uma chave de abertura ({) e uma de fechamento (})
• Um bloco inicia um novo escopo
• Novas variáveis poderão ser definidas dentro do bloco, porém seus valores serão perdidos no final do bloco
![Page 27: Linguagem C# Versão – 090528 Prof.: Mauro César Lopes](https://reader034.vdocuments.pub/reader034/viewer/2022051515/552fc0f9497959413d8b6d10/html5/thumbnails/27.jpg)
Comandos condicionais
• Permitem que uma expressão seja avaliada e que uma ação seja executada no caso da expressão ser avaliada verdadeira (true) ou falsa (false).
![Page 28: Linguagem C# Versão – 090528 Prof.: Mauro César Lopes](https://reader034.vdocuments.pub/reader034/viewer/2022051515/552fc0f9497959413d8b6d10/html5/thumbnails/28.jpg)
Comando if
É usado para que possamos escolher entre dois blocos diferentes de código com base no resultado de uma expressão booleana.
A sintaxe de uma instrução if é:
if(expressãoBooleana)
instrução-1;
else
instrução-2;
![Page 29: Linguagem C# Versão – 090528 Prof.: Mauro César Lopes](https://reader034.vdocuments.pub/reader034/viewer/2022051515/552fc0f9497959413d8b6d10/html5/thumbnails/29.jpg)
Comando if - Exemplo
int a = 5;
if(a<0)
Console.WriteLine (“a é negativo”);
else
Console.WriteLine (“a é positivo”);
![Page 30: Linguagem C# Versão – 090528 Prof.: Mauro César Lopes](https://reader034.vdocuments.pub/reader034/viewer/2022051515/552fc0f9497959413d8b6d10/html5/thumbnails/30.jpg)
Comando if - Exemplo
int a = 5;if(a<0) { // avalia a condição a<0 Console.WriteLine (“a é negativo”);}else{ Console.WriteLine (“a é positivo”);}
![Page 31: Linguagem C# Versão – 090528 Prof.: Mauro César Lopes](https://reader034.vdocuments.pub/reader034/viewer/2022051515/552fc0f9497959413d8b6d10/html5/thumbnails/31.jpg)
Comandos if em cascataif(dia==0) nome=“Domingo”;else if (dia==1) nome=“Segunda-Feira”;else if (dia==2) nome=“Segunda-Feira”;else if (dia==3) nome=“Segunda-Feira”;else if (dia==4) nome=“Segunda-Feira”;else if (dia==5) nome=“Segunda-Feira”;else if (dia==6) nome=“Segunda-Feira”;else if (dia==1) nome=“Segunda-Feira”;
![Page 32: Linguagem C# Versão – 090528 Prof.: Mauro César Lopes](https://reader034.vdocuments.pub/reader034/viewer/2022051515/552fc0f9497959413d8b6d10/html5/thumbnails/32.jpg)
Switchswitch (expressãoDeControle){case expressãoConstante: instruções; break;case expressãoConstante: instruções; break;...default: instruções; break;}
![Page 33: Linguagem C# Versão – 090528 Prof.: Mauro César Lopes](https://reader034.vdocuments.pub/reader034/viewer/2022051515/552fc0f9497959413d8b6d10/html5/thumbnails/33.jpg)
Switch
• expressãoDeControle: é avaliada uma única vez
• expressãoConstante
![Page 34: Linguagem C# Versão – 090528 Prof.: Mauro César Lopes](https://reader034.vdocuments.pub/reader034/viewer/2022051515/552fc0f9497959413d8b6d10/html5/thumbnails/34.jpg)
Comparação if / switch
if(dia==0) nome=“Domingo”;else if(dia==1) nome=“segunda-feira”;...else nome=“desconhecido”;
switch(dia){ case 0: nome=“Domingo”; break; case 1: nome=“segunda-feira”; break ... default: nome=“desconhecido”; break;}
![Page 35: Linguagem C# Versão – 090528 Prof.: Mauro César Lopes](https://reader034.vdocuments.pub/reader034/viewer/2022051515/552fc0f9497959413d8b6d10/html5/thumbnails/35.jpg)
Controle de Fluxo
Um loop (laço) é uma série de instruções que devem ser repetidas até que uma certa condição seja encontrada
![Page 36: Linguagem C# Versão – 090528 Prof.: Mauro César Lopes](https://reader034.vdocuments.pub/reader034/viewer/2022051515/552fc0f9497959413d8b6d10/html5/thumbnails/36.jpg)
Controle de Fluxo (2)
• Loops (laços) com teste no início (while)
• Loops (laços) com testes no final (do/while)
• Loops (laços) de tamanho definido (for)
• Saindo de loops (laços) antes do término (break)
• Retestando a condição em loops (laços) (ex: continue)
![Page 37: Linguagem C# Versão – 090528 Prof.: Mauro César Lopes](https://reader034.vdocuments.pub/reader034/viewer/2022051515/552fc0f9497959413d8b6d10/html5/thumbnails/37.jpg)
Comando while
Repete o laço enquanto uma condição for verdadeira
Exemplo:int i=0;while(i<5) { Console.WriteLine (i); i = i + 1;}
![Page 38: Linguagem C# Versão – 090528 Prof.: Mauro César Lopes](https://reader034.vdocuments.pub/reader034/viewer/2022051515/552fc0f9497959413d8b6d10/html5/thumbnails/38.jpg)
Comando do/while
int i=0;
do {
Console.WriteLine("i={0}",i);
i = i + 1;
} while (i<5);
![Page 39: Linguagem C# Versão – 090528 Prof.: Mauro César Lopes](https://reader034.vdocuments.pub/reader034/viewer/2022051515/552fc0f9497959413d8b6d10/html5/thumbnails/39.jpg)
Exemplo do uso de do/while
do { Console.WriteLine(“Menu”); Console.WriteLine(“1. Incluir”); Console.WriteLine(“2. Alterar”); Console.WriteLine(“3. Excluir”); Console.WriteLine(“4. Consultar”); Console.WriteLine(“0. Sair”); String opcao=Console.ReadLine();
} while(opcao!=“0”);
![Page 40: Linguagem C# Versão – 090528 Prof.: Mauro César Lopes](https://reader034.vdocuments.pub/reader034/viewer/2022051515/552fc0f9497959413d8b6d10/html5/thumbnails/40.jpg)
Exercício
• Escreva uma aplicação que leia e exiba a tecla lida enquanto a tecla ‘s’ não for pressionada. A aplicação deverá contar também o número de teclas pressionadas e exibi-las no final da aplicação
![Page 41: Linguagem C# Versão – 090528 Prof.: Mauro César Lopes](https://reader034.vdocuments.pub/reader034/viewer/2022051515/552fc0f9497959413d8b6d10/html5/thumbnails/41.jpg)
Comando for
Repete um loop (laço) um determinado número de vezes
Exemplo:
int i = 0;
for(i=0;i<5;i++) {
Console.WriteLine("i={0}",i);
}
![Page 42: Linguagem C# Versão – 090528 Prof.: Mauro César Lopes](https://reader034.vdocuments.pub/reader034/viewer/2022051515/552fc0f9497959413d8b6d10/html5/thumbnails/42.jpg)
Comparação for x while
for(
inicialização;
condição;
incremento
)
declaração;
inicialização;
while(condição)
{
declaração;
incremento;
}
![Page 43: Linguagem C# Versão – 090528 Prof.: Mauro César Lopes](https://reader034.vdocuments.pub/reader034/viewer/2022051515/552fc0f9497959413d8b6d10/html5/thumbnails/43.jpg)
Comparação for x while
int i;
for(i=0; i<=9; i++)
{
Console.WriteLine(i);
}
int i;
i=0;
while(i<=9)
{
Console.WriteLine(i);
i++;
}
![Page 44: Linguagem C# Versão – 090528 Prof.: Mauro César Lopes](https://reader034.vdocuments.pub/reader034/viewer/2022051515/552fc0f9497959413d8b6d10/html5/thumbnails/44.jpg)
Loop Infinito
int i;
for(;;)
{
Console.WriteLine(i);
}
int i;
i=0;
while(true)
{
Console.WriteLine(i);
}
![Page 45: Linguagem C# Versão – 090528 Prof.: Mauro César Lopes](https://reader034.vdocuments.pub/reader034/viewer/2022051515/552fc0f9497959413d8b6d10/html5/thumbnails/45.jpg)
Comando break
int i=0;
while (i++<10) {
Console.WriteLine("i={0}",i);
if(i==5) {
break;
}
}
![Page 46: Linguagem C# Versão – 090528 Prof.: Mauro César Lopes](https://reader034.vdocuments.pub/reader034/viewer/2022051515/552fc0f9497959413d8b6d10/html5/thumbnails/46.jpg)
Exemplo do Comando Break
int numTeclas=0;while (true) { // loop infinito // leia uma tecla em ch if(ch==‘s’) { break; } // exibe a tecla pressionada // incrementa contador de teclas pressionadas numTeclas++;}
![Page 47: Linguagem C# Versão – 090528 Prof.: Mauro César Lopes](https://reader034.vdocuments.pub/reader034/viewer/2022051515/552fc0f9497959413d8b6d10/html5/thumbnails/47.jpg)
Comando continue
int 0=0;while (i<10) { if(i%2!=0) {// testa se o número for par continue; } // exibe os números ímpares Console.WriteLine(i); i++;}
![Page 48: Linguagem C# Versão – 090528 Prof.: Mauro César Lopes](https://reader034.vdocuments.pub/reader034/viewer/2022051515/552fc0f9497959413d8b6d10/html5/thumbnails/48.jpg)
Formatação de Cadeia de Caracteres
{númParâmetro,espaçoReservado:formatação}
onde:• númParâmetro: indica que parâmetro está
sendo formatado• espaçoReservado: indica o número de
caracteres mínimos para ocupar com o parâmetro
• formatação: indica formatação específica do tipo de dados a utilizar
![Page 49: Linguagem C# Versão – 090528 Prof.: Mauro César Lopes](https://reader034.vdocuments.pub/reader034/viewer/2022051515/552fc0f9497959413d8b6d10/html5/thumbnails/49.jpg)
Formatação de cadeia de caracteres - Exemplo
Especificação
Aplicação Significado
C valores em geral valor monetário de acordo com o pais local
D inteiros inteiros genéricos
E valores em geral notação científica
F valores reais numero em formato de ponto fixo
G valores em geral geral (é utilizada a representação mais adequada ao número)
N valores em geral numero de acordo com o pais local
P valores em geral percentagem
X inteiros notação científica
![Page 50: Linguagem C# Versão – 090528 Prof.: Mauro César Lopes](https://reader034.vdocuments.pub/reader034/viewer/2022051515/552fc0f9497959413d8b6d10/html5/thumbnails/50.jpg)
Exemplo
• {0,4} parâmetro 0, 4 espaços reservados com alinhamento à direita, sem formatação específica
• {0,-4} parâmetro 0, 4 espaços reservados com alinhamento à esquerda, sem formatação específica
![Page 51: Linguagem C# Versão – 090528 Prof.: Mauro César Lopes](https://reader034.vdocuments.pub/reader034/viewer/2022051515/552fc0f9497959413d8b6d10/html5/thumbnails/51.jpg)
Exemplos• Console.WriteLine("{0:C}", 1000.32);• Console.WriteLine("{0:D}", 23);• Console.WriteLine("{0:E2}", 13.322);• Console.WriteLine("{0:F2}", 13.322);• Console.WriteLine("{0:G}", 13.322);• Console.WriteLine("{0:G}", 13);• Console.WriteLine("{0:N}", 1000000.32);• Console.WriteLine("{0:P}", 0.43);• Console.WriteLine("{0:X}", 29);
![Page 52: Linguagem C# Versão – 090528 Prof.: Mauro César Lopes](https://reader034.vdocuments.pub/reader034/viewer/2022051515/552fc0f9497959413d8b6d10/html5/thumbnails/52.jpg)
Concatenção de Strings
• Console.WriteLine(“mauro “ + “cesar “ + “lopes”);
• Console.WriteLine(“3 “ + “7”);• Retorna a string 37 e não a operação de
3+7=10• Para obtermos a soma de 3 + 7 teríamos
que proceder da seguinte forma:• Console.WriteLine(int.Parse(“3“) +
int.Parse(“7”));
![Page 53: Linguagem C# Versão – 090528 Prof.: Mauro César Lopes](https://reader034.vdocuments.pub/reader034/viewer/2022051515/552fc0f9497959413d8b6d10/html5/thumbnails/53.jpg)
Conversão de Tipos
• Use o método chamado Int32.Parse ou int.Parse para converter um valor contido em uma string em um inteiro se você precisar realizar cálculos aritméticos em valores armazenados em string
![Page 54: Linguagem C# Versão – 090528 Prof.: Mauro César Lopes](https://reader034.vdocuments.pub/reader034/viewer/2022051515/552fc0f9497959413d8b6d10/html5/thumbnails/54.jpg)
Conversão de Tipos// o método Console.ReadLine() recebe // retorna uma variável do tipo StringString s = Console.ReadLine();// quando temos um número representado por// uma string não podemos fazer operações aritméticas com ele// Abaixo estão definidas as variáveis i, f e dint i;float f;double d;// converte uma variável do tipo String (s no exemplo) em um inteiroi = int.Parse(s);// converte uma variável do tipo String (s no exemplo) em um floatf = float.Parse(s)// converte uma variável do tipo String (s no exemplo) em um doubled = double.Parse(s)
![Page 55: Linguagem C# Versão – 090528 Prof.: Mauro César Lopes](https://reader034.vdocuments.pub/reader034/viewer/2022051515/552fc0f9497959413d8b6d10/html5/thumbnails/55.jpg)
Definição de Constantes
const <tipo> <nomeDaConstante> = <valor>
Exemplos:
const int numLinhas = 3;
const int numColunas = 2;
![Page 56: Linguagem C# Versão – 090528 Prof.: Mauro César Lopes](https://reader034.vdocuments.pub/reader034/viewer/2022051515/552fc0f9497959413d8b6d10/html5/thumbnails/56.jpg)
Arrays
• Um array é um vetor ou matriz que permite guardar um certo conjunto de variáveis, todas do mesmo tipo
![Page 57: Linguagem C# Versão – 090528 Prof.: Mauro César Lopes](https://reader034.vdocuments.pub/reader034/viewer/2022051515/552fc0f9497959413d8b6d10/html5/thumbnails/57.jpg)
Vetores
• Para criar um vetor que armazene N elementos de um certo tipo (identificado por tipoDoVetor), utiliza-se a seguinte forma:
tipoDoVetor[] nomeDoVetor = new tipoDoVetor[N]
![Page 58: Linguagem C# Versão – 090528 Prof.: Mauro César Lopes](https://reader034.vdocuments.pub/reader034/viewer/2022051515/552fc0f9497959413d8b6d10/html5/thumbnails/58.jpg)
Vetores - Exemplo
• Criação de um vetor com a nota de prova de cada aluno da turma
int numAlunos=30;
double[] notas = new notas[numAlunos];
![Page 59: Linguagem C# Versão – 090528 Prof.: Mauro César Lopes](https://reader034.vdocuments.pub/reader034/viewer/2022051515/552fc0f9497959413d8b6d10/html5/thumbnails/59.jpg)
Vetores
• Para acessar cada elemento do array, usa-se colchetes:
// coloca na posição 3 do vetor a nota 7.9
notas[3]=7.9;
// atribui a nota da posição 0 do vetor
double nota = notas[0];
![Page 60: Linguagem C# Versão – 090528 Prof.: Mauro César Lopes](https://reader034.vdocuments.pub/reader034/viewer/2022051515/552fc0f9497959413d8b6d10/html5/thumbnails/60.jpg)
Vetores
• Observe que o primeiro elemento do array é o elemento 0
[0] primeiro elemento
[1] segundo elemento
...
[N-1] enésimo elemento
![Page 61: Linguagem C# Versão – 090528 Prof.: Mauro César Lopes](https://reader034.vdocuments.pub/reader034/viewer/2022051515/552fc0f9497959413d8b6d10/html5/thumbnails/61.jpg)
Criação e inicialização de um vetor
// Cria e inicializa um vetorstring[] nomeDePessoas = { “Antonio”,
“Jose”, “Joao”};
string[] nomeDePessoas = new String[] { “Antonio”, “Jose”, “Joao”};
Obs: o compilador determina qual deverá ser o tamanho do vetor
![Page 62: Linguagem C# Versão – 090528 Prof.: Mauro César Lopes](https://reader034.vdocuments.pub/reader034/viewer/2022051515/552fc0f9497959413d8b6d10/html5/thumbnails/62.jpg)
Matrizes Multidimensionais
• São matrizes com mais de uma dimensão (duas, três, quatro, ...)
Exemplo:
Uma matriz bidimensional de 2 linhas por 3 colunas (2x3)
int[,] matriz = new [2,3];
![Page 63: Linguagem C# Versão – 090528 Prof.: Mauro César Lopes](https://reader034.vdocuments.pub/reader034/viewer/2022051515/552fc0f9497959413d8b6d10/html5/thumbnails/63.jpg)
Acesso de elementos
• matriz[1,2]=35;
• int valor = matriz[1,2];
![Page 64: Linguagem C# Versão – 090528 Prof.: Mauro César Lopes](https://reader034.vdocuments.pub/reader034/viewer/2022051515/552fc0f9497959413d8b6d10/html5/thumbnails/64.jpg)
Exemplo - Matriz com três dimensões
double[,,] matriz3D = new double[10,10,10];
matriz3D[0,0,1]=1.0;
matriz3D[0,1,0]=0.65;
...
![Page 65: Linguagem C# Versão – 090528 Prof.: Mauro César Lopes](https://reader034.vdocuments.pub/reader034/viewer/2022051515/552fc0f9497959413d8b6d10/html5/thumbnails/65.jpg)
Inicialização de Matrizes
// inicializa uma matriz bidimensional (2 x 3), isto é, duas linhas e três coluna
int[,] matriz = {
{1,2,3},
{4,5,6}
};
![Page 66: Linguagem C# Versão – 090528 Prof.: Mauro César Lopes](https://reader034.vdocuments.pub/reader034/viewer/2022051515/552fc0f9497959413d8b6d10/html5/thumbnails/66.jpg)
Inicialização de Matrizes
// inicializa uma matriz bidimensional (3 x 2), isto é, três linhas e duas coluna
int[,] matriz = {
{1,2},
{3,4},
{5,6}
};
![Page 67: Linguagem C# Versão – 090528 Prof.: Mauro César Lopes](https://reader034.vdocuments.pub/reader034/viewer/2022051515/552fc0f9497959413d8b6d10/html5/thumbnails/67.jpg)
Alguns métodos da matrizes
• matriz.Length obtém o número de elementos da matriz
• matriz.Rank obtém o número de dimensões da matriz
• matriz.GetLength(dim) obtém o número de elementos da dimensão dim
![Page 68: Linguagem C# Versão – 090528 Prof.: Mauro César Lopes](https://reader034.vdocuments.pub/reader034/viewer/2022051515/552fc0f9497959413d8b6d10/html5/thumbnails/68.jpg)
Soma de Matrizes
int[,] matrizA = { {1,2,3}, {4,5,6} };
int[,] matrizB = { {4,-1,2}, {-3,-7,-6} };
int[,] matrizC = new int[2,3];
// C = A + B
![Page 69: Linguagem C# Versão – 090528 Prof.: Mauro César Lopes](https://reader034.vdocuments.pub/reader034/viewer/2022051515/552fc0f9497959413d8b6d10/html5/thumbnails/69.jpg)
Multiplicação de Matrizes
int[,] matrizA = { {1,2}, {4,5} };int[,] matrizB = { {4,-1}, {-3,-7} };int[,] matrizC = new int[2,2];// C = A x BCondições:- o número de colunas da matriz A deverá ser
igual ao número de linhas da matriz B- a matriz resultante, C, terá a dimensão dada pelo
número de linhas da matriz A e o número de colunas da matriz B
![Page 70: Linguagem C# Versão – 090528 Prof.: Mauro César Lopes](https://reader034.vdocuments.pub/reader034/viewer/2022051515/552fc0f9497959413d8b6d10/html5/thumbnails/70.jpg)
Multiplicação de Matrizes
Cada elemento c[i,j] será dado pela multiplicação dos elemento da linha i multiplicados pelos elementos da linha j
c[i,j] += a[i,k] * b[k,j]
onde k varia de 0 a número de linhas da matriz A ou número de colunas da matriz B, que são iguais
![Page 71: Linguagem C# Versão – 090528 Prof.: Mauro César Lopes](https://reader034.vdocuments.pub/reader034/viewer/2022051515/552fc0f9497959413d8b6d10/html5/thumbnails/71.jpg)
Criando um método para exibir uma matriz
![Page 72: Linguagem C# Versão – 090528 Prof.: Mauro César Lopes](https://reader034.vdocuments.pub/reader034/viewer/2022051515/552fc0f9497959413d8b6d10/html5/thumbnails/72.jpg)
Backup - Slides
![Page 73: Linguagem C# Versão – 090528 Prof.: Mauro César Lopes](https://reader034.vdocuments.pub/reader034/viewer/2022051515/552fc0f9497959413d8b6d10/html5/thumbnails/73.jpg)
Palavras chave da Linguagem C#
abstract as base bool break
byte case catch char checked
class const continue decimal default
delegate do double else enum
event explict extern false finally
![Page 74: Linguagem C# Versão – 090528 Prof.: Mauro César Lopes](https://reader034.vdocuments.pub/reader034/viewer/2022051515/552fc0f9497959413d8b6d10/html5/thumbnails/74.jpg)
Palavras chave da Linguagem C# (2)
fixed float for foreach get
goto if implict in int
interface internal is lock long
namespace
new null object operator
out override params private protected
![Page 75: Linguagem C# Versão – 090528 Prof.: Mauro César Lopes](https://reader034.vdocuments.pub/reader034/viewer/2022051515/552fc0f9497959413d8b6d10/html5/thumbnails/75.jpg)
Palavras chave da Linguagem C# (3)
public readonly ref return sbyte
sealed set short sizeof stackalloc
static string struct switch this
throw true try typeof uint
ulong unchecked
unsafe ushort using
![Page 76: Linguagem C# Versão – 090528 Prof.: Mauro César Lopes](https://reader034.vdocuments.pub/reader034/viewer/2022051515/552fc0f9497959413d8b6d10/html5/thumbnails/76.jpg)
Palavras chave da Linguagem C# (4)
value virtual void volatile while