VB.NET «С» производительность оператора? - PullRequest
2 голосов
/ 13 января 2010

Какое влияние на производительность имеет использование ключевого слова «With» на vb.net вместо повторного многократного использования имени экземпляра?

Ответы [ 3 ]

5 голосов
/ 13 января 2010

Предполагая, что вы сравниваете его со ссылкой на локальную переменную, нет никакой разницы; оба будут излучать один и тот же IL. (По крайней мере, в режиме Release)

Однако, если вы сравниваете его с повторными вызовами свойства или индексатора, With будет немного быстрее, а если вы сравниваете его с повторными вызовами метода, это может быть намного быстрее. (Ключевое слово With создаст локальную переменную и присвоит ее объекту, который вы With 'd, поэтому метод будет вызываться только один раз вместо каждой строки)

2 голосов
/ 13 января 2010

Производительность во время выполнения не снижается. Это просто "синтаксический сахар", который делает ваш код красивее.

0 голосов
/ 13 октября 2011
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
...