Sobes.tech
Junior

O que são tipos de dados de referência em C# e quais são as suas características?

sobes.tech IA

Resposta da IA

Tipos de dados de referência armazenam referências a objetos no heap. Variáveis de tipo de referência contêm o endereço na memória onde o próprio objeto está localizado.

Características:

  • Passagem por referência: Atribuir o valor de uma variável de tipo de referência a outra do mesmo tipo faz com que ambas apontem para o mesmo objeto na memória.
  • Gestão de memória: Os objetos de tipos de referência são colocados no heap gerenciado. O coletor de lixo libera automaticamente a memória ocupada por objetos aos quais não há mais referências.
  • Valor padrão: O valor padrão para um tipo de referência é null.
  • Herança e polimorfismo: Os tipos de referência suportam herança, permitindo criar hierarquias de classes e usar polimorfismo.
  • Comparação: O operador == por padrão compara referências, não o conteúdo dos objetos.

Exemplos:

  • Classes (class)
  • Interfaces (interface)
  • Delegados (delegate)
  • Arrays (array)
  • Strings (string) (embora string seja um tipo de referência imutável)
// Exemplo de tipo de referência Class1
public class Class1
{
    public int Value { get; set; }
}

// Criação de uma instância de Class1
Class1 obj1 = new Class1 { Value = 10 };

// Atribuição de referência
Class1 obj2 = obj1;

// Alterar o valor através de obj2 afeta obj1
obj2.Value = 20;

// Agora, obj1.Value é igual a 20
System.Console.WriteLine(obj1.Value);