Quais tipos de dados existem em C#

Quais Tipos De Dados Existem Em C



Os tipos de dados são um aspecto importante de qualquer linguagem de programação e o C# oferece vários tipos de dados que são usados ​​para declarar variáveis, definir métodos e criar objetos. Neste artigo, discutiremos os diferentes tipos de dados em C# e suas subcategorias, incluindo tipos de dados de valor, referência e ponteiro.

Quais tipos de dados existem em C#?

C# é um linguagem de programação fortemente tipada , o que significa que todas as variáveis ​​devem ser declaradas com um tipo de dados específico e possui três categorias principais de tipos de dados:







1: Tipos de dados de valor

Tipos de dados de valor são aqueles que armazenam seus valores diretamente na memória. Eles são alocados na pilha e frequentemente empregados para armazenar conjuntos de dados menores. A seguir estão as subcategorias de tipos de dados de valor:



Tipo de dado numérico



Esses tipos de dados são usados ​​para armazenar valores numéricos. Os tipos de dados numéricos são divididos em várias subcategorias, como decimais, inteiros e números de ponto flutuante:





  • inteiros: Esses tipos de dados são usados ​​para armazenar números inteiros e as subcategorias de inteiros incluem sbyte, byte, short, ushort, int, uint, long e ulong. O intervalo de valores que cada formato de dados inteiro pode conter varia.
  • Números de ponto flutuante: Esses tipos de dados são usados ​​para armazenar números decimais e as subcategorias de números de ponto flutuante incluem float e double. Float pode armazenar até 7 dígitos decimais, enquanto double pode armazenar até 15 dígitos decimais.
  • Decimais: Esses tipos de dados são usados ​​para armazenar inteiros decimais altamente precisos. Decimal pode armazenar até 28 dígitos decimais.

Tipo de Dados Booleanos

Valores booleanos, que só podem ser verdadeiros ou falsos, são armazenados nesta forma de dados.



Tipo de dados de caractere

Os caracteres únicos são armazenados usando este tipo de dados.

Exemplo

O código de exemplo a seguir ilustra como utilizar o tipo de dados de valor em C#:

usando Sistema;

namespace ValueDataTypesExample
{
programa de classe
{
vazio estático Principal ( corda [ ] argumentos )
{
int meuInt = 5 ;
float myFloat = 3.14f;
duplo meuDuplo = 3.14159265359 ;
bool meuBool = verdadeiro ;
char meuChar = 'a' ;

Console.WriteLine ( 'Meu valor inteiro é: ' + meuInt ) ;
Console.WriteLine ( 'Meu valor float é: ' + myFloat ) ;
Console.WriteLine ( 'Meu valor duplo é: ' + meuDuplo ) ;
Console.WriteLine ( 'Meu valor booleano é: ' + meuBool ) ;
Console.WriteLine ( 'O valor do meu personagem é: ' + meuChar ) ;
}
}
}

Neste exemplo, declaramos e inicializamos variáveis ​​de diferentes tipos de dados de valor, como int, float, double, bool e char. Em seguida, imprimimos os valores dessas variáveis ​​usando o método Console.WriteLine, a saída desse programa será:

2: Tipos de dados de referência

Os tipos de dados de referência são aqueles que armazenam uma referência ao local da memória onde o valor é armazenado. Eles são alocados no heap e normalmente são usados ​​para armazenar quantidades maiores de dados. A seguir estão as subcategorias de tipos de dados de referência:

Aula

Em C#, uma classe é um tipo de referência que define um projeto para a criação de objetos.

Corda

Este tipo de dados de referência é usado para armazenar dados de texto, a string é um tipo de referência, mas se comporta como um tipo de valor de várias maneiras.

Variedade

Uma coleção de valores do mesmo tipo pode ser armazenada usando esse tipo de dados. Arrays são tipos de referência, mas também podem se comportar como tipos de valor em certos casos.

Interface

Uma interface define um conjunto de métodos, propriedades, eventos e indexadores, sem fornecer nenhum detalhe de implementação.

Delegar

Um delegado permite que você passe um método como um argumento para outro método e, em seguida, invoque esse método posteriormente por meio do delegado.

Exemplo

Aqui está um exemplo de código C# que mostra como usar tipos de dados de referência :

usando Sistema;

classe Pessoa
{
string pública Nome;
public int Idade;
}

programa de classe
{
vazio estático Principal ( corda [ ] argumentos )
{
Pessoa pessoa1 = nova Pessoa ( ) ;
pessoa1.Nome = 'ELE MESMO' ;
pessoa1.Idade = vinte ;

Pessoa pessoa2 = pessoa1;
pessoa2.Idade = 30 ;

Console.WriteLine ( pessoa1.Nome + ' é ' + pessoa1.Idade + ' anos.' ) ;
Console.WriteLine ( pessoa2.Nome + ' é ' + pessoa2.Idade + ' anos.' ) ;
}
}

A classe Person neste exemplo tem dois campos públicos: Name, que é do tipo string, e Age, que é do tipo int. Em seguida, criamos uma nova instância da classe Person e a atribuímos a person1 no método Main. Modificamos os atributos Name e Age de person1.

Em seguida, criamos outra variável de referência pessoa2 e atribuímos a ela o valor de pessoa1. Em seguida, alteramos a propriedade Age de person2 para 30.

Por fim, imprimimos o nome e a idade de person1 e person2. Observe que, alterando o valor de pessoa2.idade também muda o valor de pessoa1.Idade , já que ambas as variáveis ​​estão se referindo ao mesmo objeto em memória.

3: Tipos de dados de ponteiro

Os tipos de dados de ponteiro são usados ​​para armazenar o endereço de memória de outra variável. Eles são usados ​​em programação de baixo nível, como programação em nível de sistema ou desenvolvimento de driver de dispositivo . Em C#, os tipos de dados de ponteiro não são usados ​​diretamente , mas podem ser usados ​​em blocos de código não seguros. A seguir está a subcategoria de tipos de dados de ponteiro:

Tipo de dados do ponteiro

Este tipo de dados é usado para armazenar o endereço de memória de outra variável.

Aqui está um exemplo que demonstra o uso de tipos de dados de ponteiro em C # embora exija muito cuidado:

usando Sistema;

programa de classe {
estático inseguro void Principal ( ) {
número int = 10 ;
int * p = & num;
Console.WriteLine ( $ 'Valor de num: {num}' ) ;
Console.WriteLine ( $ 'Endereço de num: {(long)p:X}' ) ;
Console.WriteLine ( $ 'Valor de num usando o ponteiro: {*p}' ) ;
Console.ReadLine ( ) ;
}
}

Neste exemplo, usamos a palavra-chave unsafe para permitir o uso de ponteiros. Declaramos uma variável do tipo int e atribuímos a ela o valor 10. Em seguida, criamos uma variável de ponteiro pointer do tipo int* e atribuímos a ela o endereço de memória do valor usando o operador &.

Além disso, acessamos o valor armazenado em value desreferenciando o ponteiro usando o operador * e também podemos modificar o valor usando o mesmo operador:

Observação: O uso de ponteiros em C# requer alguns cuidados e atenção extras para evitar problemas de gerenciamento de memória, portanto, eles devem ser usados ​​apenas quando necessário e com cautela.

Conclusão

Existem muitos tipos de dados diferentes disponíveis em C# que podem ser utilizados para várias tarefas. Quantidades menores de dados são armazenadas usando tipos de dados de valor e quantidades maiores são armazenadas usando tipos de dados de referência. Tipos de dados de ponteiro são usados ​​em programação de baixo nível e não são comumente usados ​​em C#.