Tipos de dados
Tipos Simples
Section titled “Tipos Simples”- 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é 255sbyte
(8 bits) = de -128 até 127
byte meuByte = 127;
Números inteiros
Section titled “Números inteiros”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;
Números reais
Section titled “Números reais”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 doublefloat salario = 2.500f;decimal salario = 2.500m;
Booleanos
Section titled “Booleanos”- 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
String
Section titled “String”- 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 especiaisIEnumerable<MeuTipoComplexo> aluno = new IEnumerable<MeuTipoComplexo>();var aluno = new IEnumerable<MeuTipoComplexo>();
Object
Section titled “Object”- 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 valoresquantidade = 1;quantidade = 2.5; // como recebe qualquer coisa, podemos alterar seu valor que o programa não reclama
Nullable Types
Section titled “Nullable Types”- 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.
Alias | Tipo Original |
---|---|
string | System.String |
int | Int32 |
Valores Padrões
Section titled “Valores Padrões”- 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
Tipo | Valor Padrão |
---|---|
int | 0 |
float | 0 |
decimal | 0 |
bool | false |
char | ’0’ |
string | "" |