C# Language Les structures sont copiées lors de l'affectation


Exemple

Les structures Sinse sont des types de valeur que toutes les données sont copiées lors de leur affectation, et toute modification de la nouvelle copie ne modifie pas les données de la copie originale. L'extrait de code ci-dessous montre que p1 est copié dans p2 et que les modifications apportées sur p1 n'affectent pas l'instance p2 .

var p1 = new Point {
    x = 1,
    y = 2
};

Console.WriteLine($"{p1.x} {p1.y}"); // 1 2

var p2 = p1;
Console.WriteLine($"{p2.x} {p2.y}"); // Same output: 1 2

p1.x = 3;
Console.WriteLine($"{p1.x} {p1.y}"); // 3 2
Console.WriteLine($"{p2.x} {p2.y}"); // p2 remain the same: 1 2