VB Prüfe ob int leer ist

8

Eine wirklich langweilige Frage, tut mir leid, aber das weiß ich wirklich noch nicht;) Ich habe immer string.empty ausprobiert, aber mit einer Dezimalzahl erzeugt das einen Fehler.

Gibt es irgendeine Funktion? Leider gibt es für die einfachsten Fragen keine Antworten auf Google

    
Florian Müller 22.11.2010, 12:00
quelle

3 Antworten

15

Ihr Titel (und Tag) fragt nach einem "int", aber Ihre Frage besagt, dass Sie einen Fehler mit einem "Dezimal" erhalten. Wie auch immer, es gibt keine "leeren" Dinge, wenn es um einen Werttyp (z. B. Integer , Decimal usw.). Sie können nicht auf Nothing gesetzt werden, wie Sie es mit einem Referenztyp tun könnten (wie ein String oder Klasse). Stattdessen haben Werttypen einen impliziten Standardkonstruktor, der Ihre Variablen dieses Typs automatisch auf ihren Standardwert initialisiert. Für numerische Werte wie Integer und Decimal ist dies 0. Für andere Typen siehe diese Tabelle .

So können Sie überprüfen, ob ein Werttyp mit dem folgenden Code initialisiert wurde:

%Vor%

Beachten Sie, dass mySecondFavoriteNumber automatisch hinter dem Kulissen vom Compiler auf 0 (der Standardwert für ein Integer ) initialisiert wird, so dass die If -Anweisung True ist. In der Tat entspricht die Deklaration von mySecondFavoriteNumber oben der folgenden Aussage:

%Vor%


Natürlich, wie Sie wahrscheinlich bemerkt haben, gibt es keine Möglichkeit zu wissen, ob die Lieblingsnummer einer Person tatsächlich 0 ist oder ob sie gerade noch keine bevorzugte Nummer angegeben hat. Wenn Sie wirklich einen Werttyp benötigen, der auf Nothing eingestellt werden kann, können Sie % co_de verwenden % , wobei die Variable stattdessen als

deklariert wird %Vor%

Und prüfen, ob es wie folgt zugewiesen wurde:

%Vor%     
Cody Gray 22.11.2010, 12:13
quelle
2

Vielleicht ist das, wonach Sie suchen, Nullable

%Vor%     
dbasnett 22.11.2010 13:30
quelle
0

Nun, der Standardwert für eine Zahl wäre 0, aber Sie können auch Folgendes versuchen:

%Vor%

und überprüfen Sie dann die Länge oder, wenn die Zeichenfolge 'leer ist.

    
Juan Berner 22.11.2010 12:12
quelle

Tags und Links