在我们的一个类中找到了这段代码,但我不明白第一个case语句在做什么:"Case i = 1".我确信有人只是错误地将其转换为IF/ELSE语句,但为什么VB.NET允许这种语法.用这种方式写的是什么意思?
Dim i As Integer = 1
Select Case i
Case i = 1
Return True
Case Else
Return False
End Select
Run Code Online (Sandbox Code Playgroud)
该Case语句可以采用任何可隐式转换为Select语句中值类型的表达式.
表达式i = 1将被计算为True或False,然后将其转换为整数值并进行比较i.
的整数值True是-1,那么i = 1将永远不等于i.无论价值如何,都不会使用该案例i.