Entwickler-Ecke

C# - Die Sprache - Instanz von Objekt erstellen


BCT1 - Do 04.11.10 19:52
Titel: Instanz von Objekt erstellen
Hey, ich hab ne Frage, wie kann man Instanzen von Objekten erzeugen. Also ich habe zwei String-Objekte und möchte wenn man das eine ändert das andere automatisch mitverändern.
Kann man das einfach ohne Zusatzmethoden oder so realisieren?

Gruß BCT1


Th69 - Do 04.11.10 20:11

Hallo,

das Erzeugen von Objekten hat eigentlich nichts mit deiner Frage zu tun, du willst anscheinend so etwas wie Zeiger in C bzw, C++. So etwas gibt es nicht in C#. Außerdem ist ein String-Objekt unveränderbar (immutable), s.a. Besonderheiten der String-Klasse (immutabler Referenztyp mit Wertsemantik) [http://www.mycsharp.de/wbb2/thread.php?threadid=73679]


BCT1 - Do 04.11.10 20:20

Schade, hätte gedacht man könnte das in C# irgentwie realisieren...

Trotzdem danke


Ralf Jansen - Do 04.11.10 21:19

Je nach Anwendungsfall könnte es helfen einfach einen StringBuilder [http://msdn.microsoft.com/de-de/library/system.text.stringbuilder.aspx] zu verwenden anstatt einem string.


Yogu - Fr 05.11.10 14:03

Eine andere Möglichkeit wäre es, den String in eine eigene Klasse zu packen, und diese dann zu instanzieren:


C#-Quelltext
1:
2:
3:
class MyStringContainer {
  public string Value { get; set; }
}

Wenn du eine Instanz dieser Klasse mittels new erstellst, und diese dann mehreren Variablen zuweist, hast du das, was du wolltest.

Das { get; set; } bedeutet übrigens, dass die Eigenschaft gelesen und geschrieben werden kann.

Noch was:
user profile iconBCT1 hat folgendes geschrieben Zum zitierten Posting springen:
wie kann man Instanzen von Objekten erzeugen

Instanzen kann man nur von Klassen, nicht von Objekten erzeugen. Um die Begriffe zu klären: Ein Objekt ist eine Instanz einer bestimmten Klasse. Was du suchst, sind Referenzen, gibt's z.B. in PHP [http://de3.php.net/manual/de/language.references.php].