Udostępnij za pośrednictwem


If — Operator (Visual Basic)

Zastosowań zwarcie oceny warunkowo zwraca jedną z dwóch wartości.If operator może być wywołana z trzech argumentów lub dwa argumenty.

If( [argument1,] argument2, argument3 )

Jeżeli podmiot gospodarczy o nazwie trzy argumenty

Gdy If jest wywoływana przy użyciu trzech argumentów, pierwszy argument musi dawać w wyniku wartość, która może być oddane jako Boolean.Aby Boolean wartość będzie określać, które dwa argumenty jest przetwarzane i zwracana.Poniższa lista ma zastosowanie tylko wtedy, gdy Ifza pomocą trzech argumentów wywoływany jest operator .

Części

Termin

Definicja

argument1

Wymagane.Boolean.Określa, która innych argumentów do oceny i zwrotu.

argument2

Wymagane.Object.Ocenione i zwracane, gdy argument1 wynikiem True.

argument3

Wymagane.Object.Ocenione i zwracane, gdy argument1 wynikiem False lub jeśli argument1 jest NullableBooleanzmienna ma wartość nic nie.

If operator jest wywoływana z trzech argumentów działa jak IIf funkcja , z wyjątkiem, że używa zwarcie oceny. IIf funkcja ocenia z wszystkich trzech z jej argumentów, zawsze należy If operator , który ma trzy argumenty ocenia tylko dwóch z nich. Pierwszy If argument jest oceniane, a wynik jest rzutowany jako Boolean wartości, True lub False. Jeśli wartość jest True, argument2 jest oceniane, a jego wartość jest zwracana, ale argument3 nie jest sprawdzane.Jeśli wartość Boolean wyrażenie jest False, argument3 jest oceniane, a jego wartość jest zwracana, ale argument2 nie jest sprawdzane.Poniższe przykłady ilustrują użycie If kiedy są używane trzy argumenty:

' This statement prints TruePart, because the first argument is true.
Console.WriteLine(If(True, "TruePart", "FalsePart"))

' This statement prints FalsePart, because the first argument is false.
Console.WriteLine(If(False, "TruePart", "FalsePart"))

Dim number = 3
' With number set to 3, this statement prints Positive.
Console.WriteLine(If(number >= 0, "Positive", "Negative"))

number = -1
' With number set to -1, this statement prints Negative.
Console.WriteLine(If(number >= 0, "Positive", "Negative"))

Poniższy przykład przedstawia wartość zwarcie oceny.W przykładzie przedstawiono dwie próby dzielenia zmienna number przez zmienna divisor z wyjątkiem sytuacji gdy divisor jest zero. W takim przypadku powinna zostać zwrócona wartość 0, a nie należy do przeprowadzenia podziału, ponieważ mogłoby spowodować błąd czasu wykonania .Ponieważ If wyrażenie zastosowań zwarcie oceny, ocenia drugi lub trzeci argument, w zależności od wartości pierwszego argument.Jeśli pierwszy argument jest prawdą, dzielnik jest różna zero i bezpiecznie oceny drugi argument i wykonać podział.Jeśli pierwszy argument ma wartość false, tylko trzeci argument jest oceniany i zwracana jest wartość 0.W związku z tym gdy dzielnik jest równy 0, nie są podejmowane próby przeprowadzenia podziału i żadne wyniki błędu.Jednakże ponieważ IIf nie używać zwarcie oceny, drugi argument jest ocenić nawet wtedy, gdy pierwszy argument ma wartość false.To powoduje dzielenie run-time-według-błądzero .

number = 12

' When the divisor is not 0, both If and IIf return 4. 
Dim divisor = 3
Console.WriteLine(If(divisor <> 0, number \ divisor, 0))
Console.WriteLine(IIf(divisor <> 0, number \ divisor, 0))

' When the divisor is 0, IIf causes a run-time error, but If does not.
divisor = 0
Console.WriteLine(If(divisor <> 0, number \ divisor, 0))
' Console.WriteLine(IIf(divisor <> 0, number \ divisor, 0))

Jeżeli podmiot gospodarczy o nazwie z dwoma argumentami

Pierwszy argument do If mogą być pominięte.Umożliwia to operator ma być wywoływana za pomocą tylko dwóch argumentów.Poniższa lista ma zastosowanie tylko wtedy, gdy If operator jest wywoływana z dwóch argumentów.

Części

Termin

Definicja

argument2

Wymagane.Object.Musi być odniesienia lub typ dopuszczający wartość null.Ocenione i zwracane, kiedy wyliczy ono złą cokolwiek innego niż Nothing.

argument3

Wymagane.Object.Ocenione i zwracane, gdy argument2 wynikiem Nothing.

Gdy Boolean argument zostanie pominięty, pierwszy argument musi być odniesienia lub typ dopuszczający wartość null. Jeśli pierwszy argument ma wartość Nothing, zwracana jest wartość z drugiego argument .We wszystkich innych przypadkach zwracana jest wartość pierwszego argument .Poniższy przykład ilustruje, jak działa ta ocena.

' Variable first is a nullable type. 
Dim first? As Integer = 3
Dim second As Integer = 6

' Variable first <> Nothing, so its value, 3, is returned.
Console.WriteLine(If(first, second))

second = Nothing 
' Variable first <> Nothing, so the value of first is returned again.
Console.WriteLine(If(first, second))

first = Nothing
second = 6
' Variable first = Nothing, so 6 is returned.
Console.WriteLine(If(first, second))

Zobacz też

Informacje

Nothing (Visual Basic)

IIf

Koncepcje

Typy o wartości zerowalnej (Visual Basic)