2012-04-04 12 views

Antwort

3

Die String-Klasse wird als Immutable bezeichnet.

Ein stark vereinfachtes Beispiel könnte wie folgt aussehen:

public sealed class MyValue 
{ 
    public MyValue(int value) 
    { 
    this.Value = value; 
    } 

    public int Value { get; private set } 

    public MyValue Add(int value) 
    { 
    return new MyValue(this.Value + value); 
    } 
} 

Das Objekt ist in diesem Zusammenhang nicht geändert werden kann. Wenn Sie ein anderes MyValue-Objekt mit dem aktuellen Wert zu einem anderen Wert benötigen, erhalten Sie ein neues Objekt.

+0

Ich weiß das, aber in Wikipedia Artikel habe ich keinen Ansatz zur Implementierung solcher Methoden für unveränderliche Objekte gefunden. Wie kann ich das ursprüngliche Objekt durch eine neu erstellte Methode ersetzen? Sollte ich Zeiger verwenden? –

+0

Aktualisiert mit Beispiel. –

+0

Danke das ist nützlich! –

Verwandte Themen