Я недавно начал использовать ReSharper, который является фантастическим инструментом. Сегодня я столкнулся с правилом именования для статических полей, а именно, снабжающих префиксом подчеркивание т.е.
private static string _myString;
В руководстве Microsoft ничего не говорится о закрытых полях, они касаются только публично видимых членов.
Общепринятыми соглашениями являются camelCase, _camelCase и даже иногда похмелье от C++/MFC m_camelCase.
Если вы используете camelCase без префикса, ваши поля подложки свойств будут отличаться от имени свойства только регистром, что не является проблемой в C#, но не будет работать в языке, нечувствительном к регистру, таком как VB.NET.
Поэтому многие люди, включая меня, любят использовать префикс подчеркивания, чтобы во всех языках можно было использовать одни и те же стандарты. По моему опыту, underscore встречается гораздо чаще, чем m_.
Согласно MSDN , используйте Pascal Case для статических полей. Я всегда хихикаю, когда MSDN и StyleCop противоречат друг другу :).
Итак, если вы следуете стандартам MSDN, правильный способ:
private static string MyString;
На самом деле это стиль для частного поля, статического или нет. (По крайней мере, в ReSharper)
Согласно StyleCop (и с настройками по умолчанию), правильным способом наименования большинства полей (как указано ниже) является строчная буква в начале.
SA1306: FieldNamesMustBeginWithLowerCaseLetter
... Имена полей и переменных должны начинаться со строчной буквы, если только поле не является публичным или внутренним, const, или не является частным и доступным для чтения. В этих случаях поле должно начинаться со строчной буквы.
См. также SA1309: FieldNamesMustNotBeginWithUnderscore.
Конвенция - это то, что говорится в стандартах кодирования вашей компании.
1 - Не существует окончательного стандартного правила для имен переменных. Существуют требования к компилятору C # в отношении того, что разрешено, а что нет (т. Е. Не может начинаться с числа), но правила стиля языка программирования обычно оставляются на усмотрение программистов / организаций. В ReSharper есть предопределенные правила стиля; однако они просто устанавливаются как значения по умолчанию в подходе к конфигурации, а не к соглашению, и их можно изменять.
2 - Вы можете взглянуть на эту статью в Википедии, чтобы увидеть историю создания Camel Casing .