主题:[原创]vb2005语言的新特点1
vb2005语言的新特点1
点击数:55 发布日期:2006-1-8 23:27:00 【评论】【打印】【收藏此页到365Key】
vb2005有许多新改进的语言特点,这是它成为一种真正面向对象的编程语言;作为一个vb程序员,你现在可以通过声明多线程来创建可升级的多线程应用程序;另外,vb2005还有其他一些特点,值得关注。作为一名vb爱好者,我打算将vb2005语言部分的新特点翻译过来,因为我没有用过vb2005(刚刚下载和安装了vb2005express),只有借助自己对vb6的了解,进行翻译,希望网友们留言,提出建议和批评,QQ:3459028。
特点之一:连续声明(continue statement)
vb现在支持连续声明,这意味着可以从Do、For或while的循环中直接跳到该循环的下一轮反复。语法:Continue { Do | For | While }。
你可以在循环中的任何允许转出的位置使用continue,比如,你可以在一个包含了完整try或finally区块(block)的循环中使用continue,但是如果循环中包含try。。。end try的结构,你不可以从try或finally的区块中转出控制。
如果是相同的类型(type)的嵌套循环,比如一个Do循环中含有其他Do循环,那么continueDo声明就会跳到最里面的Do循环所包含的下一轮反复。你不能够通过使用continue来跳到具有相同类型嵌套循环的下一轮反复上。
如果是不同类型的嵌套循环,比如Do循环中包含一个For循环,你就可以通过使用continueDo或continueFor来跳到任何一个循环的下一轮反复上。
举例:
a。下面的代码使用continueWhile声明,当除数是0时,来跳到数组的下一个列。continueWhile嵌入在一个for循环中,它转出到While col <= lastcol 声明中,这正是包含有for循环的最深层的While循环的下一个反复。
Dim row, col As Integer
Dim lastrow As Integer = 6
Dim lastcol As Integer = 10
Dim a(,) As Double = New Double(lastrow, lastcol) {}
Dim b(7) As Double
row = -1
While row < lastrow
row += 1
col = -1
While col < lastcol
col += 1
a(row, col) = 0
For i As Integer = 0 To b.GetUpperBound(0)
If b(i) = col Then
Continue While
Else
a(row, col) += (row + b(i)) / (col - b(i))
End If
Next i
End While
End While
b。从一个For。。。Next循环中跳到下一轮反复
1、按正常的方式写出For。。。Next循环
2、在循环的任何地方插入continueFor,从而中止当前反复,继续进行下一轮反复
Public Function findLargestRatio(ByVal high() As Double, _
ByVal low() As Double) As Double
Dim ratio As Double
Dim largestRatio As Double = Double.MinValue
For counter As Integer = 0 To low.GetUpperBound(0)
If Math.Abs(low(counter)) < System.Double.Epsilon _
Then Continue For
ratio = high(counter) / low(counter)
If Double.IsInfinity(ratio) OrElse Double.IsNaN(ratio) _
Then Continue For
If ratio > largestRatio Then largestRatio = ratio
Next counter
Return largestRatio
End Function
这是第一篇,下一篇讲述访问vb6.0窗体(vb6.0 form access)和IsNot运算符(IsNot Operator),简单讲述如何不必定义变量,直接用语言来改变窗体的颜色,以及新的IsNot运算符的使用。希望得到大家的鼓励。
点击数:55 发布日期:2006-1-8 23:27:00 【评论】【打印】【收藏此页到365Key】
vb2005有许多新改进的语言特点,这是它成为一种真正面向对象的编程语言;作为一个vb程序员,你现在可以通过声明多线程来创建可升级的多线程应用程序;另外,vb2005还有其他一些特点,值得关注。作为一名vb爱好者,我打算将vb2005语言部分的新特点翻译过来,因为我没有用过vb2005(刚刚下载和安装了vb2005express),只有借助自己对vb6的了解,进行翻译,希望网友们留言,提出建议和批评,QQ:3459028。
特点之一:连续声明(continue statement)
vb现在支持连续声明,这意味着可以从Do、For或while的循环中直接跳到该循环的下一轮反复。语法:Continue { Do | For | While }。
你可以在循环中的任何允许转出的位置使用continue,比如,你可以在一个包含了完整try或finally区块(block)的循环中使用continue,但是如果循环中包含try。。。end try的结构,你不可以从try或finally的区块中转出控制。
如果是相同的类型(type)的嵌套循环,比如一个Do循环中含有其他Do循环,那么continueDo声明就会跳到最里面的Do循环所包含的下一轮反复。你不能够通过使用continue来跳到具有相同类型嵌套循环的下一轮反复上。
如果是不同类型的嵌套循环,比如Do循环中包含一个For循环,你就可以通过使用continueDo或continueFor来跳到任何一个循环的下一轮反复上。
举例:
a。下面的代码使用continueWhile声明,当除数是0时,来跳到数组的下一个列。continueWhile嵌入在一个for循环中,它转出到While col <= lastcol 声明中,这正是包含有for循环的最深层的While循环的下一个反复。
Dim row, col As Integer
Dim lastrow As Integer = 6
Dim lastcol As Integer = 10
Dim a(,) As Double = New Double(lastrow, lastcol) {}
Dim b(7) As Double
row = -1
While row < lastrow
row += 1
col = -1
While col < lastcol
col += 1
a(row, col) = 0
For i As Integer = 0 To b.GetUpperBound(0)
If b(i) = col Then
Continue While
Else
a(row, col) += (row + b(i)) / (col - b(i))
End If
Next i
End While
End While
b。从一个For。。。Next循环中跳到下一轮反复
1、按正常的方式写出For。。。Next循环
2、在循环的任何地方插入continueFor,从而中止当前反复,继续进行下一轮反复
Public Function findLargestRatio(ByVal high() As Double, _
ByVal low() As Double) As Double
Dim ratio As Double
Dim largestRatio As Double = Double.MinValue
For counter As Integer = 0 To low.GetUpperBound(0)
If Math.Abs(low(counter)) < System.Double.Epsilon _
Then Continue For
ratio = high(counter) / low(counter)
If Double.IsInfinity(ratio) OrElse Double.IsNaN(ratio) _
Then Continue For
If ratio > largestRatio Then largestRatio = ratio
Next counter
Return largestRatio
End Function
这是第一篇,下一篇讲述访问vb6.0窗体(vb6.0 form access)和IsNot运算符(IsNot Operator),简单讲述如何不必定义变量,直接用语言来改变窗体的颜色,以及新的IsNot运算符的使用。希望得到大家的鼓励。