在 vb.net 中使用“With”关键字而不是一遍又一遍地重用实例名称会对性能产生什么影响?
问问题
1902 次
3 回答
6
假设您将其与局部变量引用进行比较,则没有任何区别;两者都会发出完全相同的 IL。(至少在发布模式下)
但是,如果您将它与重复调用属性或索引器进行比较,With
会快一点,如果您将其与重复调用方法进行比较,它可能会快得多。(With
关键字将创建一个局部变量并将其分配给您要的对象With
,因此该方法只会被调用一次,而不是在每一行上)
于 2010-01-13T00:52:42.427 回答
2
没有运行时性能成本。它只是让你的代码看起来更漂亮的“语法糖”。
于 2010-01-13T00:51:01.367 回答
0
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
于 2011-10-13T08:59:11.213 回答