Se você chegou até aqui quer dizer então que já passou por este caminho:
Curso de Programação em C#
- Parte I – Introdução
- Parte II – C#
- Parte III – Meu Primeiro Programa
- Parte 4 – Codificando
Variáveis são um lugar na memória do computador onde ficam guardados dados que utilizamos. Todo programa utiliza variáveis.
Podemos imaginar uma variável como uma caixa onde ficam guardados coisas que usamos. Existem variáveis de vários tipos assim como existem caixas de todos os tamanhos. Os tipos mais comuns de variáveis são:
- Caractere: só para um caractere, tipo letra, número ou símbolo – Representado entre aspas simples
- Palavra: uma palavra inteira com letras números e símbolos – Representado entre aspas duplas
- Número Inteiro: números inteiros, exemplo: -2 e 10.000 – Representado sem ponto
- Número Real: número de ponto flutuante, exemplo: 35,10 e 50,0001 – Representado com ponto no lugar da vírgula
- Verdadeiro ou Falso: tipo binário, exemplo: true e false
Para usarmos variáveis devemos seguir os seguintes passos.
- Declarar o tipo da variável
- Dar um nome a ela
- Atribuir a ela algum valor
OBS: existem palavras reservadas no C# que não podemos usar como nome de variáveis, também só podemos inicializar o nome de uma variável com letra ou o sinal underline “_”
Os tipos do C# tem palavras-chave já definidas que são respectivamente:
- char
- string
- int
- double
- bool
Estes tipos de variáveis são chamados “tipos primitivos”, existem também os “tipos de referência” que aprenderemos mais tarde.
Quando uma variável não tiver nenhum valor dentro dizemos que ela é null, ou seja, nula.
Veja como utilizar variáveis:
- Crie um novo projeto e inclua no form um botão
- Dê dois cliques no botão para que a IDE gere o evento Click
- Digite o conteúdo das linhas 21 a 23 dentro do método button1_click
- Depois execute o projeto
19. private void button1_Click(object sender, EventArgs e)
20. {
21. string mensagem;
22. mensagem = "Olá mundo usando variáveis!";
23. MessageBox.Show(mensagem);
24. }
Veja o que fizemos:
- Declaramos uma variável do tipo string chamada mensagem (linha 21)
- Atribuímos a esta variável o valor: “Olá mundo usando variáveis!” (linha 22)
- E mandamos exibir o conteúdo desta variável para o usuário. (linha 23)
Desta forma podemos usar a variável em outros lugares e atribuir outros valores a ela.
Dica: Cada variável ocupa um espaço na memória, então utilize-as sempre de acordo com a necessidade. Ou seja, não utilize um tipo double se precisar apenas de um tipo inteiro e não declare mais variáveis do que o necessário.
Veja na tabela abaixo os tipos suportados pelo C# e suas características:
Pro C# 2010 and the .NET 4.0 Platform, Fifth Edition
Podemos atribuir também o valor de uma variável a outra:
19. private void button1_Click(object sender, EventArgs e)
20. {
21. string mensagem1 = "Este é o valor da mensagem nº 1";
22. string mensagem2 = "Este é o valor da mensagem nº 2";
23.
24. mensagem1 = mensagem2;
25. MessageBox.Show(mensagem1);
26. }
Observe que, quando executado o programa, a mensagem exibida é “Este é o valor da mensagem nº 2“, pois atribuímos o valor da variável mensagem2 à variavel mensagem1 (linha 22).
Podemos também colocar um valor de um tipo em uma variável de outro tipo fazendo uma conversão:
19. private void button1_Click(object sender, EventArgs e)
20. {
21. int número = 30;
22. string mensagem = número.ToString()
23. MessageBox.Show(mensagem);
24. }
Convertemos o número 30 em uma string “30”. Porém note que a variável número não teve seu tipo alterado.
Para fazer o contrário, colocar uma string dentro de um int use o seguinte código:
string numeroStr = "30";
int numeroInt = Int32.Parse(numeroStr);
Algumas conversões são feitas automatimente:
int numeroInt = 50;
double numeroReal = numeroInt;
Outras não são possível e darão erro:
double numeroReal = 50;
int numeroInt = numeroReal;
Isto se dá por uma questão lógica: o conjunto dos números inteiros estão contidos no conjunto dos números reais, e o contrário não é possível, ou seja, o conjunto de números inteiros conter o conjunto de números reais.
E como pra tudo na vida existe sedex… ops, digo, no C# temos várias formas de fazer a mesma coisa, aliás, temos formas mais práticas de fazê-las:
Ao invés de especificarmos sempre o tipo da variável podemos fazer simplesmente assim:
var numero = 100.00;
Explicação: O código acima cria uma variável chamada numero e atribui a ela um valor do tipo double. Assim sendo, a variável passa a ser double.
var nome = "João da Silva";
Já este código atribui uma string à variável “nome”.
A utilização da palavra-chave var é uma forma prática de declarar variáveis, e tem o mesmo efeito que a forma anterior.
Vamos aprender agora a usar um recurso muito útil na IDE, o Depurador! Com este recurso podemos ter informações das variáveis em tempo de execução. Para isso digite o seguinte código:
private void button1_Click(object sender, EventArgs e)
{
var minhaVar = 100.00;
MessageBox.Show(minhaVar.ToString());
}
Vá até a linha 22, onde iremos começar a depuração, e pressione F9. A linha ficará com o fundo vermelho:
Execute seu projeto e clique no botão que você criou no form, observe que o Visual Studio pausa a execução e pára justamente na linha que colocamos o break point. Passe o mouse sobre a variávei, observe que o Visual Studio mostra o tipo da variável (double) e seu valor (100.00):
Mas não se engane, a variável continua sendo estática, ou seja, uma vez atribuída o tipo dela como double ela não pode comportar-se como sendo, por exemplo do tipo inteiro.
Quer mais dinamismo? No C# você tem! Para criar variáveis dinâmicas que podem mudar seu tipo de acordo com o cenário, utilize a palavra-chave dynamic:
19. private void button1_Click(object sender, EventArgs e)
20. {
21. dynamic variavel;
22. variavel = 10;
23. variavel = 40.678;
24. variavel = "String qualquer";
25.
26. MessageBox.Show(variavel);
27. }
Coloque um ponto de interrrupção na linha 20 (F9) e depure o programa (F5), clique no botão e utilize F11 para percorrer linha a linha.
Observe que a variável vai tendo seu valor e seu tipo mudados a cada linha:
Só que o dinamismo no C# não foi feito para que você fique aí brincando e usando da forma que quizer. Ao contrário, ele é um recurso muito poderoso e só deve ser usado em caso de necessidade, quando não sabemos o tipo da variável que iremos usar (e isto acontece em casos muito específicos, como trabalhar com webservices, componentes COM ou outros componentes desenvolvidos por plataformas diferentes), pois consome mais processamento e memória do computador, e não queremos ficar desperdiçando recurso a toa não é mesmo?
Mas só saber sobre variáveis não adianta muito se não fizermos algo realmente legal. No próximo artigo aprenderemos como utilizar operadores.