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

来源:岁月联盟 编辑:exp 时间:2011-11-04

 

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

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

view plainprint?

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是个关键字

 

作者 LEE576