Quelle est la différence entre les types de données de référence et les types de valeur en programmation?
sobes.tech IA
Réponse de l'IA
En C#, les types de données sont divisés en types de valeur (value types) et types de référence (reference types).
Les types de valeur stockent directement les données. Lors de l'assignation ou du passage à une méthode, la valeur elle-même est copiée. Exemples : int, double, struct, bool.
Les types de référence stockent une référence à une zone mémoire où se trouvent les données. Lors de l'assignation, c'est la référence qui est copiée, pas les données elles-mêmes, donc plusieurs variables peuvent pointer vers le même objet. Exemples : class, string, array.
Exemple :
int a = 5;
int b = a; // la valeur 5 est copiée
b = 10;
// a est toujours 5
class Person { public string Name; }
Person p1 = new Person { Name = "Alice" };
Person p2 = p1; // la référence est copiée
p2.Name = "Bob";
// p1.Name est maintenant "Bob"
Ainsi, la principale différence réside dans la façon dont les données sont stockées et copiées : les types de valeur copient les valeurs, les types de référence copient des références aux objets.