Tipos primitivos são um conjunto de tipos de dados básicos que servem de base para todos os outros tipos.
Podemos os resumir em 4 categorias: Inteiro, Real(float), Lógico e Texto. Ainda assim, muitas linguagens de programação subdividem essas categorias dependendo da quantidade de memória utilizada, por exemplo shorts e longs para os inteiros.
Na linguagem C# não há uma definição dos tipos primitivos em sua especificação. Ao invés disso são usados aliases para os tipos definidos na plataforma .NET! Isso quer dizer que você pode utilizar qualquer das nomenclaturas sem nenhum problema.
A tabela abaixo mostra como ficam essas relações, com uma legenda da categoria a qual cada tipo pertence:
Na própria documentação do C# podemos ter mais informações sobre cada um desses tipos.
A próxima tabela resume bem o que cada um desses tipos representa (ou suporta):
É importante ter em mente os limites do que podemos atribuir a cada um dos tipos. Ao mexermos com dinheiro por exemplo, usamos o tipo decimal, pois apesar de float e double possuírem casas decimais, o tamanho deles certamente causará perda de precisão e suas variáveis deixarão de apresentar o valor que você espera delas... (Mais sobre isso aqui).
Esse é o post das tabelas, e aqui vamos preparar mais uma. Todos os tipos possuem um valor padrão. Esse padrão é o que será atribuído a uma variável de dado tipo caso não lhe passemos nenhum outro valor.
Aqui o char teve uma definição um pouco mais complicada por se tratar de um tipo que representa um caractere Unicode, de forma mais simples esse valor representa ''.
Por último, podemos converter alguns tipos primitivos para outros, seja através de um casting(explicitamente) ou de maneira implicita. Como regra, podemos assumir que a conversão de um tipo menor para um maior pode ser feita de maneira implícita, enquanto para converter tipos maiores em menores precisos deixar explicito para o compilador que sabemos o que estamos fazendo!
Essa foi uma introdução aos tipos primitivos, espero que tenha sido claro para você!
Top comments (0)