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 方法更好的選擇。
沒有留言:
張貼留言
感謝您的留言,如果我的文章你喜歡或對你有幫助,按個「讚」或「分享」它,我會很高興的。