Diferença entre o tipo de valor e o tipo de referência

Diferença de chave - Tipo de valor vs Referência Tipo
 

Uma linguagem de programação é projetada para fornecer instruções ao computador para executar tarefas. O programa pode manipular dados contendo números, caracteres e seqüências de caracteres e produzir informações para o usuário. Uma sequência de instruções escritas em uma linguagem de programação específica é um programa. Em linguagens de programação como C #, existem tokens. Essas são palavras-chave, identificadores, literais e operadores. Os locais de memória reservados para armazenar dados são conhecidos como variáveis. Uma variável pode armazenar um valor de um determinado tipo. Os tipos de dados podem ser divididos em tipo de valor e tipo de referência. A diferenciação entre o tipo de valor e o tipo de referência depende de dois recursos. É aí que as variáveis ​​são armazenadas na memória e como elas se comportam com uma instrução de atribuição. Este artigo discute a diferença entre o tipo de valor e o tipo de referência. o diferença chave entre o tipo de valor e o tipo de referência é que um tipo de valor mantém um valor de dados em seu próprio espaço de memória, enquanto um tipo de referência mantém um ponteiro para outro local da memória que mantém os dados.

CONTEÚDO

1. Visão geral e principais diferenças
2. O que é o tipo de valor
3. O que é o Tipo de Referência
4. Semelhanças entre o tipo de valor e o tipo de referência
5. Comparação lado a lado - Tipo de valor vs Tipo de referência em forma de tabela
6. Resumo

O que é o tipo de valor?

Os tipos de valor podem ser divididos em duas categorias. Eles são tipos predefinidos e tipos definidos pelo usuário. Os tipos predefinidos são fornecidos pela linguagem de programação. Eles podem ser numéricos, tipo de caractere ou tipo decimal. Os tipos numéricos podem ser tipos integrais, tipos de ponto flutuante e tipos decimais. Os tipos integrais podem ser ainda classificados em assinados e não assinados. Os números inteiros assinados podem armazenar um número positivo ou negativo. O sbyte, curto, int e longo são tipos de dados assinados.

O sybte é um byte, curto é dois bytes, int é quatro bytes e longo é oito bytes. O tipo não assinado armazena valores positivos. O byte, ushort, uint e ulong são os exemplos para tipos não assinados. Os tipos de ponto flutuante podem armazenar um valor numérico com um ponto decimal. O float é armazenar o valor do ponto flutuante de precisão única de 32 bits e o double é usado para armazenar o ponto flutuante de precisão única de 64 bits. O tipo decimal é para valores de alta precisão. O tipo de dados char é usado para armazenar um único caractere na memória. Às vezes, é necessário armazenar um valor verdadeiro ou falso. O booleano é usado para isso. Esses são alguns exemplos de tipos de valor fornecidos pela linguagem de programação.

O usuário também pode criar tipos de valor. Dois desses tipos de valores definidos pelo usuário são estrutura e enumerações. Uma estrutura contém dados de diferentes tipos. É semelhante a uma classe. A palavra-chave'struct 'é usada para declarar uma variável de estrutura. Um exemplo da estrutura é o seguinte.

struct Employee

public int empNo;

nome público da string;

Enumerações são usadas para aumentar a legibilidade do código. É usado para dar nomes aos números. A palavra-chave 'enum' é usada para declarar uma enumeração. Um exemplo de enum é o seguinte. por exemplo. - enum Cor preto, branco, roxo. A palavra-chave enum enumera automaticamente uma lista de palavras, atribuindo valores a partir de 0. De acordo com o exemplo acima, preto é atribuído com 0, branco é atribuído com 1 e roxo é atribuído com 2. Se estiver escrito como enumeração Cor preto, branco = 3, roxo, o preto é atribuído com 0 e o roxo é atribuído com 4. Esses são alguns exemplos de tipos de valor. Eles são armazenados na pilha. Ao atribuir um valor a outra variável, o valor é copiado para o novo local. Portanto, existem duas cópias do mesmo valor na memória.

O que é o tipo de referência?

Os tipos de referência podem ser divididos em duas categorias como tipos definidos pelo usuário e predefinidos. Alguns exemplos de tipos definidos pelo usuário são classes, interfaces e matrizes. Uma classe é usada para criar objetos. Uma classe consiste em membros e métodos de dados. Os membros dos dados descrevem os atributos e os métodos descrevem o comportamento. Uma interface contém apenas a declaração dos membros. Os membros devem ser definidos pela classe derivada. Uma matriz pode armazenar vários elementos do mesmo tipo de dados.

Os tipos predefinidos são um tipo de objeto e um tipo de sequência. O tipo de objeto é o tipo base para todos os outros tipos definidos pelo usuário. As referências de objeto são usadas para vincular a um objeto de qualquer tipo específico. Os literais de string são armazenados em objetos de string como valores. Operações como cópia, comparação e concatenação podem ser feitas usando-as. Esses são alguns exemplos de um tipo de referência. Os tipos de referência são armazenados na pilha. Ao atribuir uma variável de referência a outra variável de referência, apenas a referência é copiada. O valor real permanece o mesmo.

Qual é a semelhança entre o tipo de valor e o tipo de referência?

  • O tipo de valor e o tipo de referência são categorias de tipos de dados na programação.

Qual é a diferença entre o tipo de valor e o tipo de referência?

Tipo de valor versus tipo de referência

Um tipo de valor mantém um valor de dados dentro de seu próprio espaço de memória. Um tipo de referência mantém um ponteiro para outro local da memória que mantém os dados.
 Tarefa
No tipo de valor, o valor é copiado para o novo local, portanto, há duas cópias idênticas do mesmo valor na memória. No tipo de referência, a referência é copiada enquanto o valor real permanece o mesmo.
Local armazenado
Um tipo de valor é armazenado na pilha. Um tipo de referência é armazenado na pilha.
 Exemplos
O int, float, double, struct, enum são alguns exemplos de tipos de valor. A classe, matriz, interface são alguns exemplos de tipos de referência.

Sumário - Tipo de valor vs Referência Tipo

Os dados são armazenados em locais de memória reservados, conhecidos como variáveis. Cada variável armazena um tipo de dados específico. Os tipos de dados podem ser divididos em duas categorias. Eles são do tipo valor e tipo de referência. A diferença entre o tipo de valor e o tipo de referência é que um tipo de valor mantém um valor de dados em seu próprio espaço de memória, enquanto um tipo de referência mantém um ponteiro para outro local da memória que mantém os dados.

Referência:

1.Tipo de valor e tipo de referência, TutorialsTeacher.com. Disponivel aqui
2.Balagurusamia, E. Programação em C #, A premier. Quarta edição, McGraw Hill Education (India) Private Limited, 2016.