2010-12-13 3 views
1

Also, was ist der Zweck der iif in vb? Ich weiß, was es tut, aber ich kann nicht verstehen, wofür es ist?was ist der Zweck der iif in vb

Update: Ich weiß, was es tut. Aber "if (,,) macht das Gleiche. Der einzige Unterschied ist, dass "Iif" beide Ausdrücke auswertet. Was ist der Zweck, dies zu tun?

Vielen Dank!

Antwort

5

Es ermöglicht einen präzisen boolean logischen Ausdruck, der einen Wert

Dim value = Iif(someTest, trueValue, falseValue) 

Ohne den Iif oder If Operator erzeugt diese in eine combursome Reihe von Anweisungen erweitert werden muss

Dim value; 
If someTest Then 
    value = trueValue 
Else 
    value = falseValue 
End If 
+0

Ja. Ich weiß das. Aber warum brauchen wir "Iif" wenn wir "IF" haben? – Serhiy

+2

Sprechen Sie über den Ternärstil 'If'? Wenn dies der Fall ist, besteht keine Notwendigkeit für "Iif" jetzt mit dem "If" -Operator, der in der Nähe ist. "If" wurde in VB.Net 10 eingeführt, so dass "Iif" aus Legacy-Gründen nicht mehr benötigt wird. – JaredPar

+0

Ja. Ich habe danach gefragt. Vielen Dank. – Serhiy

1

Wenn ich mich richtig erinnere, gibt IIF (a, b, c) b zurück, wenn a wahr ist, oder c wenn a falsch ist.

+0

Ja. Es wird b- und c-Ausdrücke auswerten und einen von ihnen zurückgeben, wenn "If (a, b, c)" nur b OR c auswertet. Also wenn wir "Iif" brauchen? – Serhiy

+0

Sie brauchen IIF nicht. Sie können einfach eine reguläre if ... else-Anweisung verwenden. Aber IIF bietet eine schöne, kompakte Abkürzung. –

0

Es gibt Keine Notwendigkeit für Iif in neuen VB.NET-Code, wurde aber aus Gründen der Abwärtskompatibilität mit vorhandenem Code beibehalten.

Wenn Sie tun immer noch wollen Iif, Code es sich als Iif(Of T) zumindest, so dass man das Gießen vermeiden, die sonst, wenn Sie Option Strict On haben erforderlich ist.