Sobes.tech
Junior

Qu'est-ce que les types de référence en C# et quelles sont leurs caractéristiques?

sobes.tech IA

Réponse de l'IA

Les types de données de référence stockent des références vers des objets dans le tas. Les variables de type référence contiennent l'adresse en mémoire où l'objet lui-même est situé.

Caractéristiques :

  • Passage par référence : L'assignation de la valeur d'une variable de type référence à une autre variable du même type fait que les deux pointent vers le même objet en mémoire.
  • Gestion de la mémoire : Les objets de types de référence sont placés dans le tas géré. Le ramasse-miettes libère automatiquement la mémoire occupée par les objets auxquels il n'y a plus de références.
  • Valeur par défaut : La valeur par défaut pour un type de référence est null.
  • Héritage et polymorphisme : Les types de référence supportent l'héritage, permettant de créer des hiérarchies de classes et d'utiliser le polymorphisme.
  • Comparaison : L'opérateur == compare par défaut les références, pas le contenu des objets.

Exemples :

  • Classes (class)
  • Interfaces (interface)
  • Délégués (delegate)
  • Tableaux (array)
  • Chaînes (string) (bien que string soit un type de référence immuable)
// Exemple de type de référence Class1
public class Class1
{
    public int Value { get; set; }
}

// Création d'une instance de Class1
Class1 obj1 = new Class1 { Value = 10 };

// Attribution de référence
Class1 obj2 = obj1;

// Modifier la valeur via obj2 affecte obj1
obj2.Value = 20;

// Maintenant, obj1.Value est égal à 20
System.Console.WriteLine(obj1.Value);