Подтвердить что ты не робот

Что означают имена переменных, начинающиеся с _?

При написании моего первого приложения ASP.NET MVC с использованием С# я вижу, что есть некоторые переменные, имя которых начинается с символа подчеркивания (_).

Что это значит? Есть ли какое-то конкретное значение для этого?

4b9b3361

Ответ 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 я не использую ''.