VB.NET中的奇怪案例声明=

Den*_*nis 2 .net vb.net

在我们的一个类中找到了这段代码,但我不明白第一个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)

Guf*_*ffa 5

Case语句可以采用任何可隐式转换为Select语句中值类型的表达式.

表达式i = 1将被计算为TrueFalse,然后将其转换为整数值并进行比较i.

的整数值True-1,那么i = 1将永远不等于i.无论价值如何,都不会使用该案例i.