【发布时间】:2010-01-13 00:49:35
【问题描述】:
在 vb.net 中使用 'With' 关键字而不是一遍又一遍地重用实例名称会产生什么性能后果?
【问题讨论】:
标签: vb.net performance with-statement
在 vb.net 中使用 'With' 关键字而不是一遍又一遍地重用实例名称会产生什么性能后果?
【问题讨论】:
标签: vb.net performance with-statement
假设您将它与局部变量引用进行比较,则没有任何区别;两者都会发出完全相同的 IL。 (至少在发布模式下)
但是,如果您将它与重复调用属性或索引器进行比较,With 会快一点,如果您将它与重复调用方法进行比较,它可能会快得多。 (With 关键字将创建一个局部变量并将其分配给您 With'd 的对象,因此该方法只会被调用一次,而不是在每一行上)
【讨论】:
With 与方法一起使用。酷!
没有运行时性能成本。它只是让你的代码看起来更漂亮的“语法糖”。
【讨论】:
sub xyz (ByRef param as MyObj)
'Local ref, same as with
dim o2 as YourObject = param.YourObject
o2.callSomething()
'Bad performance
param.YourObject.callSomething()
end sub
【讨论】: