加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

优化 – 我应该何时使用With-End With以及何时应该在VB6中使用普

发布时间:2020-12-17 07:30:20 所属栏目:百科 来源:网络整理
导读:仔细阅读我正在维护的代码,我发现在某些地方使用了With – End With构造…… With my_object .do_this() .do_that() .do_the_other()End With 有时更直截了当 my_object.do_this()my_object.do_that()my_object.do_the_other() 这两种形式之间是否存在细微差
仔细阅读我正在维护的代码,我发现在某些地方使用了With – End With构造……

With my_object
    .do_this()
    .do_that()
    .do_the_other()
End With

有时更直截了当

my_object.do_this()
my_object.do_that()
my_object.do_the_other()

这两种形式之间是否存在细微差别?总的来说,我应该选择哪个?

(我个人的观点是,我选择了第二次,因为在第一次开始两到三次嵌套后,它开始让我的头受伤 – 这是一个充分的理由吗?)

解决方法

贾斯汀是不正确的.随着…结束与构造不仅仅是语法糖果,它也是一个性能技巧.当您有一个包含多个点(.)的对象路径时,性能提升非常明显,特别是在循环和/或处理类型(结构)时.

例如,这段代码:

For x = 1 to my_object.Employee.Records.Count
    Debug.Print my_object.Employee.Records(x).ID
Next

将会更快:

For x = 1 to my_object.Employee.Records.Count
    With my_object.Employee.Records(x)
        Debug.Print .ID
    End With
Next

并且,正如@wqw所指出的,它可能会更快(取决于你需要访问多少属性),因为它提供了最少量的对象重新鉴定:

With my_object.Employee.Records
    For x = 1 to .Count
        Debug.Print Item(x).ID
    Next    
End With

试一试,你会发现差异.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读