分享
 
 
 

[译]Visual Basic 2005在语言上的增强(五)Using、Continue语句及Global关键字

王朝vb·作者佚名  2006-01-09
窄屏简体版  字體: |||超大  

Using语句

Using语句是获取一个对象、执行代码、并迅速地释放对象的捷径。框架(指.NET Framework,涕淌注)下有很多的对象,譬如graphics、file handles、communication ports和SQL Connections都需要你自行释放这些对象,以避免应用程序中出些了内存的泄漏。假设你想用brush对象来画一个矩形:

Using g As Graphics = Me.CreateGraphics()

Using

br As System.Drawing.SolidBrush = New SolidBrush(System.Drawing.Color.Blue)

g.FillRectangle(br, New Rectangle(30, 50, 230, 200))

End Using

End Using

在你用完了graphics和brush对象后,你就必须销毁它们,而Using语句使得这一切都易如反掌了。比起你曾经在Visual Basic .NET里使用Try/Catch语句然后在Finally块中释放对象的方式,Using语句都简易清爽的多。

Continue语句

Continue语句能够直接跳到下一次循环的开始,使得循环的逻辑更精炼,可读性也更强了:

Dim j As Integer

Dim prod As Integer

For i As Integer = 0 To 100

j = 0

While j < i

prod = i * j

If prod > 5000 Then

'跳到下一个For的值

Continue For

End If

j += 1

End While

Next

Continue语句非常简洁,并且使得程序跳出内层循环变得更加容易,而不需要求助于一个语句标签和一个Goto语句。Continue语句能够作用于For、While、和Loop循环。

Global关键字

Global关键字能迅速地访问到命名空间层次最顶层的根命名空间或是空命名空间。在过去,你不可能在你公司的命名空间层次内部定义一个System.IO:

Namespace MyCompany.System.IO

这样做将会把应用程序对框架下的System命名空间的引用搞得一团糟。但现在好了,你可以使用Global关键字来消除命名空间的二义性:

Dim myFile As Global.System.IO.File

在代码生成时,如果你想确保生成命名空间的引用都绝对地符合你的思路,那么Global关键字就尤其有用。我想你会发现,Visual Basic自己就在所有生成的代码里使用Global关键字。

@以下是原文供大家参考@

Using Statement

The Using statement is a shortcut way to acquire an object, execute code with it, and immediately release it. A number of framework objects such as graphics, file handles, communication ports, and SQL Connections require you to release objects you create to avoid memory leaks in your applications. Assume you want to draw a rectangle using a brush object:

Using g As Graphics = Me.CreateGraphics()

Using

br As System.Drawing.SolidBrush = New SolidBrush(System.Drawing.Color.Blue)

g.FillRectangle(br, New Rectangle(30, 50, 230, 200))

End Using

End Using

You want to dispose of the graphics and brush objects once you're done using them, and the Using statement makes doing this a snap. The Using statement is much cleaner than using Try / Catch and releasing the object in the Finally block as you have to in Visual Basic .NET.

Continue Statement

The Continue statement skips to the next iteration of a loop, making the loop logic more concise and easier to read:

Dim j As Integer

Dim prod As Integer

For i As Integer = 0 To 100

j = 0

While j < i

prod = i * j

If prod > 5000 Then

'skips to the next For value

Continue For

End If

j += 1

End While

Next

The Continue statement is very clean and makes escaping the inner loop quite easy without resorting to a label and a Goto statement. The Continue statement operates on For, While, and Do loops.

Global Keyword

The Global keyword makes the root, or empty, namespace at the top of the namespace hierarchy accessible. In the past, you could not define a System.IO namespace within your company's namespace hierarchy:

Namespace MyCompany.System.IO

Doing so would mess up all references to the framework's System namespace within your application. You can now use the Global keyword to disambiguate the namespaces:

Dim myFile As Global.System.IO.File

The Global keyword is especially useful in code generation scenarios where you want to be absolutely sure that generated namespace references point to what you intend. I expect that you'll see Visual Basic itself use the Global keyword in all generated code.

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有