Sobes.tech
Junior — Middle

Une structure dans un langage de programmation est-elle un type de valeur ou un type de référence?

sobes.tech IA

Réponse de l'IA

Dans le langage C#, une structure (struct) est un type valeur (value type), et non un type référence.

Cela signifie que lors de l'affectation ou du passage d'une structure à une méthode, une copie de toutes ses données est effectuée, et non pas une référence à l'objet en mémoire, comme c'est le cas avec les classes (types référence).

Exemple :

struct Point
{
    public int X;
    public int Y;
}

Point p1 = new Point { X = 1, Y = 2 };
Point p2 = p1; // une copie de p1 est créée
p2.X = 10;
// p1.X restera égal à 1, car p2 est une copie

Ce comportement est important à prendre en compte lors de la conception et de l'optimisation des applications en C#.