NithyaKumarJai Ответов: 1

Какой из них лучше цепочка текстовое поле очистить или отдельное текстовое поле очистить


TextBox2.Text =TextBox3.Text = "" ;
what is difference between this coding 
TextBox2.Text ="";
TextBox3.Text = "";

что лучше всего

Что я уже пробовал:

<pre>
TextBox2.Text =TextBox3.Text = "" ;
what is difference between this coding 
TextBox2.Text ="";
TextBox3.Text = "";

что лучше всего

F-ES Sitecore

Используя строку.Пусто, а не "" - это еще лучше :)

NithyaKumarJai

Да, спасибо, я знаю этот процесс, я хочу получить заключение для своего вопроса

1 Ответов

Рейтинг:
10

Thomas Daniels

Между ними нет никакой функциональной разницы. a = b = ""; эквивалентно a = ""; b = "";. *

Нет никакого "лучшего": вы обычно должны идти за наиболее читаемым и адаптируемым кодом, но в этом случае ни то, ни другое на самом деле не лучше и не хуже, на мой взгляд. Идите с тем, что вы предпочитаете.

* Немного глубже: a = b = ""; анализируется как a = (b = ""); какие средства: b получает набор в "", выражение (b = "") возвращается "" (потому что это новое значение b) и a получает присвоенное значение.


NithyaKumarJai

спасибо Томас Дэниелс

Ravi Bhavnani

На самом деле существует разница в производительности, когда речь заходит о непримитивных типах. Цепочка назначений не рекомендуется, когда средство доступа к значениям выполняет дорогостоящую операцию (или ненулевое усилие). По этой причине (в случае того, что попросил ОП) лучше сделать так::

TextBox2.Text = строка.Пустой;
TextBox3.Text = строка.Пустой;

а чем поле textbox2.Текст = Textbox3 И.Текст = строка.Пустой;

/Рави

Thomas Daniels

Хорошая мысль, не подумал об этом. Я обновил свой ответ, чтобы процитировать вас.

Richard Deeming

Вы в этом уверены?

a.Text = b.Text = Bar(); звонки Bar ровно один раз, а набор методов доступа к свойствам-ровно один раз для каждого экземпляра. Метод доступа get никогда не вызывается.

Пример[^]

Ravi Bhavnani

Моя точка зрения заключалась в том, что в случае вопроса OP дешевле инициализировать свойство Text 2 элементов управления в string.Пусто, а не получать свойство Text первого, чтобы использовать его в качестве значения 2-го элемента управления. Если я не ошибаюсь, текстовый аксессор вызывает SendMessage (hWnd, WM_GETTEXT) под обложкой. Было бы дешевле вместо этого использовать постоянную строку.Пустой.

/Рави

Richard Deeming

И я хочу сказать, что цепная версия вообще не вызывает метод доступа get. :)

Ravi Bhavnani

Да, я только что осознал свою ошибку! Спасибо!

/Рави

Ravi Bhavnani

О, я понимаю, что ты имеешь в виду. Да, мое предположение неверно. Похоже (по вашему эксперименту), что значение, возвращаемое из Bar (), кэшируется средой CLR с целью выполнения множественного назначения. Спасибо, что обратили на это внимание.

/Рави

[no name]

Спасибо!