In een boek over Visual C# staat het volgende:
Bij een waardetype kopieert het teken = de waarde zelf.
Bij een referentietype kopieert het teken = de referentie naar de waarde en niet de waarde zelf.
Zo wordt de string als voorbeeld genoemd van een referentietype. Om dat eens uit te proberen heb ik de volgende code gebruikt:
Omdat de string een referentietype is verwacht ik dus dat naam B nu verwijst naar naam A en dat als ik de waarde van naam A wijzig dat dus ook zal gebeuren met naam B.
Echter is dat niet het geval en komt de string op mij meer over als een waardetype. Enig idee wat ik fout doe?
Bij een waardetype kopieert het teken = de waarde zelf.
Bij een referentietype kopieert het teken = de referentie naar de waarde en niet de waarde zelf.
Zo wordt de string als voorbeeld genoemd van een referentietype. Om dat eens uit te proberen heb ik de volgende code gebruikt:
C#:
1
2
3
4
5
6
7
8
9
| string naamA, naamB; naamA = "Henk"; naamB = "Pieter"; naamB = naamA; naamA = "Jan"; MessageBox.Show("Naam A: " + naamA + ", naam B: " + naamB); |
Omdat de string een referentietype is verwacht ik dus dat naam B nu verwijst naar naam A en dat als ik de waarde van naam A wijzig dat dus ook zal gebeuren met naam B.
Echter is dat niet het geval en komt de string op mij meer over als een waardetype. Enig idee wat ik fout doe?