Unzutreffende Aussage/Annahme schon hier im Eingangspost gestrichen, damit sich keiner etwas falsches aneignet.
Hallo,
kurz und knapp:
Ich habe eine Klasse "FooBar". Diese bestizt 2 Properties vom Typ "string". (Wichtig, 'string' ist klein geschrieben und wird meines Wissens deshalb auch automatisiert beim instanzieren mit dem Standard string-wert belegt (String.Empty).
Wenn ich nun schreibe:
var myClass = new FooBar();
sind die beiden Properties in myClass aber mit "null" belegt und nicht mehr mit "".
Ich weiß nicht was ich geändert habe um diesen Zustand herbei zu führen, jedoch ist es mehr als störend und ich kriege es nicht mehr weg. Ich könnte jetzt im Konstruktor der Klasse die Werte manuell auf String.Empty setzen, aber das wäre ja nicht Sinn der Sache.
Vielleicht habt ihr ja einen Tipp?
Gruss,
reloop
Hallo,
strings sind Referenztypen. Wenn du keinen Wert setzt werden diese mit null initialisiert - ist ganz normales Verhalten und war schon immer so.
Baka wa shinanakya naoranai.
Mein XING Profil.
Wichtig, 'string' ist klein geschrieben und wird meines Wissens deshalb auch automatisiert beim instanzieren mit dem Standard string-wert belegt (String.Empty).
Keine Ahnung, wo du das aufgeschnappt hast - wie talla schon gesagt hat, stimmt das nicht.
Es gibt keinerlei Unterschiede (außer der Farbgebung von VS 😉 ) zwischen string
und String
.
Wenn ich mich recht entsinne, ist string nur ein Alias auf String.
So wie int ein alias auf Int32 ist.
Grüße Stephan
Danke für eure Antworten.
Mir wurde damals während eines Lerhgangs mitgeteilt, dass das kleinschreiben des Schlüsselwortes die automatische initialisierung mit sich bringt.
Gut, dass ihr mich darauf hingewiesen habt.
Nach eigener Recherche bin ich, wie Stipo bereits angeführt hat, ebenfalls darauf gestoßen dass string lediglich einen Alias auf String abbildet.
Vielen Dank für eure Hilfe,
gruss,
reloop