Ist es möglich, eine Zeile if-Anweisung in VB .NET auszuführen? Wenn das so ist, wie?
vb.net
conditional-operator
Raúl Roa
quelle
quelle
Antworten:
Verwenden Sie IF ().
Es ist ein ternärer Kurzschlussoperator.
Dim Result = IF(expression,<true return>,<false return>)
SIEHE AUCH:
IIF wird zu If und zu einem echten ternären Operator
Gibt es in VB.NET einen bedingten ternären Operator?
Orcas stellt den IF-Operator vor - eine neue und verbesserte IIF
Der ternäre Operator in VB.NET
quelle
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 hatInteger?
, dannx.Value
hat TypInteger
, NICHTInteger?
. Der Compiler konvertiert also korrekt Nothing inInteger
(um mit dem anderen Ergebnis übereinzustimmen), was zu führt0
. 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, zDirectCast(Nothing, Integer?)
.Es ist eigentlich ziemlich einfach ..
If CONDITION Then ..INSERT CODE HERE..
quelle
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 AnweisungIf <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.
quelle
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
quelle
Oder
IIf(CONDITION, TRUE_ACTION, FALSE_ACTION)
quelle
IIf
gegenüber der identischen SyntaxIf
ist, dassIIf
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
quelle
Eine Zeile 'If-Anweisung'
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 tunEnd 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.
quelle
If (X1= 1) Then : Val1= "Yes" : Else : Val1= "Not" : End If
quelle
Sie können auch die IIf-Funktion verwenden:
CheckIt = IIf(TestMe > 1000, "Large", "Small")
quelle
Es ist einfach in VB.NET-Code zu verwenden
Grundlegende Syntax IIF (Ausdruck als Boolescher Wert, wahrer Teil als Objekt, falscher Teil als Objekt) als Objekt
quelle
If (condition, condition_is_true, condition_is_false)
In einer längeren Version wird es so aussehen:
If (condition_is_true) Then Else (condition_is_false) End If
quelle
wenn Bedingung dann Befehl1: sonst Befehl2 ...
quelle