比IIF 方法更好的選擇,IF 運算子

在Visual Basic中,如果是「二選一」的情況,一般而言,我們會選用「IIf 方法」。但今天看到一段程式語法:

Public Sub Linq10()
    Dim numbers As Integer() = {5, 4, 1, 3, 9, 8, 6, 7, 2, 0}
    Dim stringNames As String() = {"zero", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine"}

    Dim digitOddEvens = From num In numbers _
                        Select Digit = stringNames(num), Even = ((num Mod 2) = 0)

    For Each d In digitOddEvens
        ' 注意,此處使用的是「If」,而不是「IIF」
        Console.WriteLine("The digit " & d.Digit & " is " & If(d.Even, "even", "odd"))
    Next
End Sub 

程式執行起來,怪了,一切正常。

查了一下MSDN,原來這是「If 運算子」,它提供比IIF 方法更有效率的處理方式,且使用方式與IIF 方法可以說一模一樣。依MSDN上的文件,If 運算子是從Visual Studio 2008開始提供,也就是Visual Basic 9 / 2008才有提供此運算子。

如果依MSDN上的說明,這個If 運算子可是比IIF 方法更好的選擇。

沒有留言:

張貼留言

感謝您的留言,如果我的文章你喜歡或對你有幫助,按個「讚」或「分享」它,我會很高興的。