При написании моего первого приложения ASP.NET MVC с использованием С# я вижу, что есть некоторые переменные, имя которых начинается с символа подчеркивания (_).
Что это значит? Есть ли какое-то конкретное значение для этого?
Ответ 1
Нет никакого языкового значения - это просто соглашение, которое некоторые люди используют, чтобы отличать переменные экземпляра от локальных переменных. Другие варианты включают m_foo (и s_foo или g_foo или статические переменные) или mFoo; альтернативно некоторые люди предпочитают префикс локальных переменных (и параметров) вместо переменных экземпляра.
Лично я не использую префиксы, подобные этому, но это выбор стиля. Пока все, работающие над одним и тем же проектом, согласуются, обычно это не проблема. Я видел какой-то ужасно непоследовательный код, хотя...
Ответ 2
В общем, это означает, что это поля частного члена.
Ответ 3
Многие используют их для частных переменных свойств (переменных, которые фактически сохраняют значения для общедоступных свойств).
Ответ 4
Подчеркивание перед именем переменной _val является не чем иным, как условным. В С# он используется при определении переменной частного члена для публичного свойства.
private string _val;
public string Values
{
get { return _val;}
set {_val = value;}
}
Ответ 5
Я видел, что он использовался как имя переменной для параметров, которые не используются как способ "спрятать" их от остальной части функции.
Я не могу сказать, что это хорошая или плохая вещь, но она была эффективной при указании того, что параметр не должен использоваться в функции.
Ответ 6
Есть еще одно преимущество с запуском свойства экземпляра с '', оно появляется сначала в Intellisense.
При создании класса value/model/POCO я не использую ''.