Sobes.tech
Junior — Middle

Wat is het verschil tussen referentietypen en waarde-types in programmeren?

sobes.tech AI

Antwoord van AI

In C# worden datatypes onderverdeeld in value types (waarde types) en reference types (referentie types).

Value types slaan de gegevens direct op. Bij toewijzing of het doorgeven aan een methode wordt de waarde zelf gekopieerd. Voorbeelden: int, double, struct, bool.

Reference types slaan een verwijzing op naar een geheugenruimte waar de gegevens zich bevinden. Bij toewijzing wordt de verwijzing gekopieerd, niet de gegevens zelf, dus meerdere variabelen kunnen naar hetzelfde object wijzen. Voorbeelden: class, string, array.

Voorbeeld:

int a = 5;
int b = a; // kopieert de waarde 5
b = 10;
// a is nog steeds 5

class Person { public string Name; }
Person p1 = new Person { Name = "Alice" };
Person p2 = p1; // kopieert de verwijzing
p2.Name = "Bob";
// p1.Name is nu "Bob"

Dus, het belangrijkste verschil is de manier waarop gegevens worden opgeslagen en gekopieerd: value types kopiëren de waarden, reference types kopiëren verwijzingen naar objecten.