Ist es möglich, eine Zeile if-Anweisung in VB .NET auszuführen? Wenn das so ist, wie?
Ist es möglich, eine Zeile if-Anweisung in VB .NET auszuführen? Wenn das so ist, wie?
Antworten:
Verwenden Sie IF ().
Es ist ein ternärer Kurzschlussoperator.
Dim Result = IF(expression,<true return>,<false return>)
SIEHE AUCH:
If(x.HasValue, x.Value, Nothing)
Gibt 0 zurück, wenn x keinen Wert enthält. Eine Möglichkeit, Abhilfe zu schaffen, besteht darin, den Wert wie folgt auf Nullable zu setzen:If(x.HasValue, CType( x.Value, Nullable( of Integer) ), Nothing)
x
Typ hat Integer?
, dann x.Value
hat Typ Integer
, NICHT Integer?
. Der Compiler konvertiert also korrekt Nothing in Integer
(um mit dem anderen Ergebnis übereinzustimmen), was zu führt 0
. Nur das Verhalten des Compilers erklären; Was Sie getan haben, ist eine gute Lösung für das, was Sie wollten. Eine alternative Lösung wäre, das Nichts auf den gewünschten Typ zu gießen, z DirectCast(Nothing, Integer?)
.
Es ist eigentlich ziemlich einfach ..
If CONDITION Then ..INSERT CODE HERE..
If...Then...Else...
ist es möglich , Aussagen in eine Zeile zu setzen. Beachten Sie jedoch, wenn Sie es mit dem Platzieren mehrerer Anweisungen in einer Zeile mithilfe von Doppelpunkten kombinieren. Die Anweisung If <condition> Then <action1> : <action2>
führt Aktion2 nur in Kombination mit Aktion 1 aus! Action2 ist keine separate Aussage für sich! Aus Gründen der Übersichtlichkeit würde ich empfehlen, immer Blockanweisungen zu verwenden und Doppelpunkte insgesamt zu vermeiden.
Ich weiß nicht, warum die Leute das noch nicht gepostet haben ...
Einzelne Zeile
Syntax:
If (condition) Then (do this)
Beispiel:
If flag = true Then i = 1
Mehrere andere
Syntax:
If (condition) Then : (do this)
ElseIf (condition2) Then : (do this)
Else : (do this)
End If
ODER
If (condition) Then : (do this) : ElseIf (condition2) Then : (do this) : Else : (do this) : End If
Mehrere Operationen
Syntax:
If (condition) Then : (do this) : (and this) : End If
Hoffe das wird jemandem helfen.
Sie können mehrere Anweisungen und andere in einer einzeiligen if-Anweisung in VB verwenden. In diesem Beispiel endet y mit 3 und nicht mit 7.
i = 1
If i = 1 Then x = 3 : y = 3 Else x = 7 : y = 7
Oder
IIf(CONDITION, TRUE_ACTION, FALSE_ACTION)
IIf
gegenüber der identischen Syntax If
ist, dass IIf
sie anfälliger für Laufzeitfehler ist .
Fügen Sie einfach hinzu Then
:
If A = 1 Then A = 2
oder:
If A = 1 Then _
A = 2
Einfacher als Sie denken, ist aufgefallen, dass noch niemand das eingesetzt hat, was ich habe, also werfe ich meine 2 Cent ein.
In meinen Tests brauchst du das nicht continuation? semi-colon
, du kannst darauf verzichten, auch du kannst es ohne das tun End If
.
<C#> = Condition.
<R#> = True Return.
<E> = Else Return.
Einzelbedingung
If <C1> Then <R1> Else <E>
Mehrere Bedingungen
If <C1> Then <R1> Else If <C2> Then <R2> Else <E>
Unendlich? Bedingungen
If <C1> Then <R1> Else If <C2> Then <R2> If <C3> Then <R3> If <C4> Then <R4> Else...
' Just keep adding "If <C> Then <R> Else" to get more
- Ich bin mir nicht sicher, wie ich das formatieren soll, um es besser lesbar zu machen. Wenn also jemand eine Bearbeitung anbieten könnte, tun Sie dies bitte.
Sie können auch die IIf-Funktion verwenden:
CheckIt = IIf(TestMe > 1000, "Large", "Small")
wenn Bedingung dann Befehl1: sonst Befehl2 ...