【VB.NET高效编程】之『With关键字』
vb2010吧
全部回复
仅看楼主
level 9
lipeiyi2006 楼主
亲爱的读者!你是否在VB6时代就接触过VB独有的关键字 With 呢? 在VB.NET上With还有新的用途。
使用With不仅仅是代码上的精简,更是效率上的飞跃!
2012年08月17日 03点08分 1
level 9
lipeiyi2006 楼主
Visual Basic 语言关键字:
http://msdn.microsoft.com/zh-cn/library/ksh7h19t(v=vs.90).aspx
在众多VB语言关键字里面,With具有怎样的用途呢?让我来给大家一一介绍。
2012年08月17日 03点08分 2
level 9
lipeiyi2006 楼主
1.首先是MSDN官方上的解释:
执行重复引用单个对象或结构的一系列语句。
With object
 [ statements ]
End With
===========================================
object
必需。变量或表达式。可以计算为任何数据类型,包括基本类型。
statements
可选。With 与 End With 之间对 object 运行的一条或多条语句。
End With
必需。结束 With 块的定义。
-》 With...End With
允许对指定的对象执行一系列语句,而不必重新限定对象的名称。如果对象的限定路径太长,使用 With...End With
【可提高性能】。With 块也减少了限定路径的重复键入和错误键入其中任何元素的风险。
===========================================
例如:
使用:
With TextBox1
 .Text = "123"
 .Multiline = True
 .SelectAll()
End With
取代:
TextBox1.Text = "123"
TextBox1.Multiline = True
TextBox1.SelectAll()
那至于为什么可以提高性能,通过反汇编查看汇编码可以知道,这里不做解释。
好的,其实官方上对With的使用方法介绍就这么多。但是,With还有其他用法。

2012年08月17日 03点08分 3
level 1
没太注意这个问题,感谢分享
2013年03月09日 10点03分 5
level 1
很好,对我帮助很大,刚好对第二种with用法不太清楚,太感谢了
2016年08月02日 01点08分 6
1