Announcement

Collapse
No announcement yet.

Anfängerfrage: Standardwerte bei Wertetypen

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Anfängerfrage: Standardwerte bei Wertetypen

    Aus der Literatur kenne ich den Unterschied zwischen Werte- und Verweistypen. Dort heisst es auch, dass Wertetypen ein Standardwert zugeordnet wird.

    Wenn ich jetzt folgendes probiere:

    int integer2;
    if (integer2 == null)
    Console.WriteLine("NULL");

    erhalte ich die Fehlermeldung:
    "Verwendung der nicht zugewiesenen lokalen Variablen "integer2" "

    Wie ist es zu verstehen, dass Wertetypen ein Standardwert zugeordnet wird?

  • #2
    Ein Wertetyp kann nicht null sein. Insofern würde deine Konsolenausgabe eh nie stattfinden.

    Da liegt letztlich auch schon ein Teil des Geheimisses begraben. Da ein Wertetyp
    zwingend einen Wert haben muß werden Wertetypen immer mit einem eindeutigen Wert initialisiert anders als in anderen Sprachen wo man oft dann ein Zufallswert (was halt gerade zufällig am Ende der Speicheradresse der Variablen im Speicher stand) erhält.

    Das heißt aber nicht das dieser Defaultwert etwas ist mit dem man arbeiten sollte dementsprechend erhältst du auch eine Fehlermeldung.

    Wenn du das mit dem Defaultwert ausprobieren willst könntest du zum Beispiel mit
    Code:
    int integer2 = new int();
    die Fehlermeldung umgehen oder aus der lokalen Variablen eine Klassenvariable machen.

    Comment


    • #3
      Danke das hat weitergeholfen ...

      Comment

      Working...
      X