Есть ли какое-либо существенное преимущество в чтении строки непосредственно из элемента управления вместо ее перемещения в переменную?

sqlInsertFrame.Parameters.AddWithValue("@UserName", txtUserName.txt);

Учитывая приведенный выше код... если мне не нужно перемещать данные текстового поля в строковую переменную, лучше ли читать данные непосредственно из элемента управления?

С точки зрения производительности, было бы разумнее не создавать никаких ненужных переменных, которые занимают память, если она не нужна. Или это ситуация, когда это технически верно, но не дает никаких реальных результатов из-за размера рассматриваемых данных.

Простите меня, я знаю, что это очень простой вопрос.


person Kevin    schedule 24.04.2010    source источник


Ответы (3)


Нет проверки? Обычно я кэширую строку и передаю ее на бизнес-уровень для проверки, если проверка проходит успешно, я сохраняю кэшированную строку в базе данных. Медленнее снова получить строку из окна, чем прочитать значение из моего кеша.

person Sheng Jiang 蒋晟    schedule 24.04.2010
comment
У меня есть валидаторы. Я думаю, что это был больше вопрос, основанный на теории. Не зависит от сценария. - person Kevin; 24.04.2010

На самом деле это не очень простой вопрос. Что касается производительности, трудно сказать без измерения. В этом случае локальная переменная во внутренней области вполне может быть полностью оптимизирована умным компилятором. Он может существовать только в регистрах процессора.

Введение локальной переменной может сделать ваш код намного более читабельным, если это так, сделайте это!

См. также... Назначение локальной переменной для предотвращения многократного приведения и, в частности, принятый ответ.

person Ian Mercer    schedule 24.04.2010
comment
И это то, что я обычно делаю. Для удобства чтения я бы переместил его в переменную, но во время работы мне вдруг пришло в голову, что это может быть бесполезно или даже навредить приложению (не говоря уже о читабельности). - person Kevin; 24.04.2010
comment
Это не причинит вреда в таком внутреннем объеме, как этот. Я добавил еще одну ссылку, которая актуальна. - person Ian Mercer; 24.04.2010

Никогда не кэшируйте то, что можете вычислить. Ваши рассуждения здравы.

person i_am_jorf    schedule 24.04.2010