vb.net 与 c# 的switch ... case ...的一个重要区别

与vb.net中case可以写比较表达式>,<,=等,但在c# (3.0及以下,不知道以后会不会加上)中就没有这样的功能

看以下vb.net代码,确是c#的switch case没有的

                Select Case DateDiff(DateInterval.Minute, dtLineStart, dtTmpStart)
                    Case Is < -60
                        lngTmpQTY = 0
                    Case Is < 0
                        intTmpSec = DateDiff(DateInterval.Second, dtLineStart, dtTmpEnd)
                        If intTmpSec > 0 Then
                            lngTmpQTY = dblQTYPerMin * intTmpSec
                        Else
                            lngTmpQTY = 0
                        End If
                    Case Is = 0
                        intTmpSec = DateDiff(DateInterval.Second, dtTmpStart, dtTmpEnd)
                        If intTmpSec > 0 Then
                            lngTmpQTY = dblQTYPerMin * intTmpSec
                        Else
                            lngTmpQTY = 0
                        End If
                    Case Is > 0
                        intTmpSec = DateDiff(DateInterval.Second, dtTmpStart, dtTmpEnd)
                        If intTmpSec > 0 Then
                            lngTmpQTY = dblQTYPerMin * intTmpSec
                        Else
                            lngTmpQTY = 0
                        End If
                    Case Else
                        lngTmpQTY = 0
                End Select

上面就代码就是在比较case中的大小,case中的 Is是个关键字

你可能感兴趣的:(C#,VB.NET)