Skip to content

Tipos de dados


  • O tipo byte são 8 bits, só aceita valores positivos.
  • O tipo sbyte permite valores negativos (quando possui o símbolo - são chamados de signed)
  • byte (8 bits) = de 0 até 255
  • sbyte (8 bits) = de -128 até 127
byte meuByte = 127;

  • short
    • tem 16 bits
    • de -32768 até 32767
  • ushort
    • pega somente valores positivos
    • tem 16 bits
    • de 0 até 65535
  • int
    • tem 32 bits
    • de -2147483648 até 2147483647
  • uint
    • pega somente valores positivos
    • tem 32 bits
    • 0 até 4294967295
  • long
    • tem 64 bits
    • de -9223372036854775808 até 9223372036854775807
  • ulong
    • pega somente valores positivos
    • tem 64 bits
    • de 0 até 18446744073709551615
uint idate = 25;
short idade = 25;
long idade = 25;
  • float
    • Pode ser positivo ou negativo
    • Aceita no máximo 32 bits
    • de -3.402823e38 até 3.402823e38
    • Ex: 23,5 é mostrado como 23.5f
    • Devemos colocar um f no final do valor
  • double
    • Pode ser positivo ou negativo
    • Aceita no máximo 64 bits
    • de -1.79769313486232e308 até 1.79769313486232e308
    • Tipo padrão que é pego de um valor decimal
    • Ex: 23,5 é mostrado como 23.5
  • decimal
    • Pode ser positivo e negativo
    • Aceita no máximo 128 bits
    • de 1.0 x 10e-28 até 7.9 x 10e28
    • Ex: 23,5 é mostrado como 23.5m
    • Devemos colocar um m no final do valor
double salario = 2.500;
var salario = 2.500; // var pega automaticamente o double
float salario = 2.500f;
decimal salario = 2.500m;
  • Armazena somente true ou false
  • usamos a palavra reservada bool como booleano
bool usuarioCadastrado = false;
bool usuarioCadastrado = true;
var usuarioCadastrado = false; // Já reconhece como Booleano
  • Armazena somente um caractere no formato unicode
  • usamos a palavra reservada char para definir o valor
  • atribuimos o valor de um char com aspas simples
  • Possui 16 bits que entra em qualquer caractere
char valor = 'a';
var valor = 'd'; // Já reconhece como um Char
  • Armazena uma cadeia de caracteres
  • Definido pela palavra reservada string
  • O tamanho depende do tamanho do string
  • é atribuido utilizando aspas duplas
string umaLetra = "C"; // podemos colocar uma letra só
string variasLetras = "Caracteres";
var variasLetras = "1234"; // Já reconhece como String
  • Utilizado para substituir o nome de um tipo
  • Será definido o tipo do primeiro valor atribuido, não altera durante o projeto
  • Se utiliza o var quando já dominar os tipos existentes
  • Devemos principalmente usar quando criamos tipos especiais, assim evitamos de reutilizar várias vezes nomes longos
// Com tipos especiais
IEnumerable<MeuTipoComplexo> aluno = new IEnumerable<MeuTipoComplexo>();
var aluno = new IEnumerable<MeuTipoComplexo>();
  • Tipo genérico que recebe qualquer valor ou objeto
  • Caso não saiba o tipo da informação ou sela seja de vários tipos diferentes
  • Não possui intelisense (ajuda de editores) por ser um tipo desconhecido
  • Evite usar Object se não for para classes genéricas ou desnecessário
  • Usamos quando não queremos definir um valor inicial
object quantidade; // podemos definir sem valores
quantidade = 1;
quantidade = 2.5; // como recebe qualquer coisa, podemos alterar seu valor que o programa não reclama
  • Null significa que o valor é vazio ou inexistente
  • Diferente de zero ou string vazia
  • Tipos primitivos ou complexos podem receber o valor null
  • O tipo deve ser marcado como Nullable Type
  • Podemos atribuir null a um objeto
  • Usamos ? junto com o tipo para definir que ele é Nullable Types
  • Se uma chamada a um valor nulo for feito, vai dar um erro no projeto
int? idade = null;
byte? valor = 123;
  • É um apelido que todos os tipos do .NET possuem.
  • Todos os tipos que foram mostrados até agora são Alias.
  • Como o C# é Case Sensitive , não importa qual usarmos, mas recomendado usar os alias.
AliasTipo Original
stringSystem.String
intInt32
  • Todos os tipos primitivos do C# já vem com um valor default
  • nunca são iniciados como nulos
  • Se nenhum valor for informado, seu valor padrão será usado
TipoValor Padrão
int0
float0
decimal0
boolfalse
char’0’
string""