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) (emborastringseja 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);