Pular para o conteúdo
.NETTipos, variáveis e var
Módulo 01Fundamentos da Plataforma e da Linguagem

Tipos, variáveis e var

iniciante 25 min de leitura·Atualizado · .NET 9
Resumo

C# é fortemente tipado. Cada variável tem um tipo conhecido em tempo de compilação. var não é "sem tipo": é inferência — o compilador deduz o tipo pelo valor atribuído.

1. Objetivos de Aprendizagem#

  • Declarar variáveis com tipos explícitos e com var.
  • Conhecer os tipos primitivos mais usados.
  • Entender conversões implícitas e explícitas (cast).

2. Pré-requisitos#

  • Projeto de console criado (tópico 1.3).

3. Conceito#

C# resolve tipos em tempo de compilação (tipagem estática). Isso pega erros cedo e habilita autocompletar. Os tipos mais usados no dia a dia:

TipoUso
int, longinteiros
decimal, doublenúmeros com casas decimais (decimal para dinheiro)
boolverdadeiro/falso
stringtexto
charum caractere
DateTime, DateOnlydatas
Guididentificadores únicos

var pede ao compilador para inferir o tipo pelo lado direito. O tipo continua fixo e forte — só a digitação é mais curta. O porquê: reduzir ruído quando o tipo já é óbvio pelo valor.

4. Mão na Massa#

4.1. Setup#

Shell
dotnet new console -n Catalog.Tipos
cd Catalog.Tipos

4.2. Implementação Passo a Passo#

  1. Tipos explícitos vs var:
C#
int quantidade = 10;
decimal preco = 19.90m;       // sufixo m = decimal
string nome = "Teclado";
bool ativo = true;

var total = quantidade * preco; // inferido como decimal
var rotulo = $"{nome}: {total:C}"; // string interpolada
  1. Conversões:
C#
int i = 5;
double d = i;             // implícita (não perde dados)
int back = (int)d;        // explícita (cast, pode truncar)

string texto = "42";
int parsed = int.Parse(texto);          // lança se inválido
bool ok = int.TryParse("x", out int n); // seguro: ok=false, n=0

4.3. Executando#

Shell
dotnet run

5. Exemplo Completo#

C#
var nome = "Mouse";
var preco = 89.90m;
var emEstoque = true;
Console.WriteLine($"{nome} custa {preco:C} — disponível: {emEstoque}");

6. Boas Práticas e Armadilhas#

FaçaEvite
Usar decimal para valores monetáriosUsar double para dinheiro (erros de arredondamento)
Usar TryParse para entradas não confiáveisParse direto em dados do usuário (exceção)
Usar var quando o tipo é óbviovar quando prejudica a leitura
Atenção

var não é o var do JavaScript. O tipo é fixo em compilação; você não pode reatribuir outro tipo depois.

7. Segurança e Produção#

  • Prefira TryParse ao processar dados de requisições — evita exceções não tratadas por entrada malformada.

8. Exercícios#

  • Fácil: declare variáveis de cada tipo primitivo.
  • Médio: converta uma string em int com TryParse e trate a falha.
  • Desafio: mostre com um exemplo por que 0.1 + 0.2 difere entre double e decimal.

9. Resumo#

C# é fortemente tipado; var é inferência, não ausência de tipo. Use decimal para dinheiro e TryParse para entradas incertas.

10. Próximos Passos#

A seguir, operadores e controle de fluxo.

11. Referências#

03-01 — Tipos, variáveis e var | Curso ASP.NET Core