tipos programacion programa practicas ejemplos datos codigo clases buenas c# asp.net syntax variables naming-conventions

programacion - programa en c#



¿Qué significan los nombres de variables que comienzan con_? (6)

Al escribir mi primera aplicación asp.net MVC usando C #, veo que hay algunas variables cuyo nombre comienza con un carácter de subrayado (_).

¿Qué significa esto? ¿Hay algún significado específico para esto?


En general, esto significa campos de miembros privados.


Lo he visto usar como un nombre de variable para los parámetros que no se utilizan como una forma de ''ocultarlos'' del resto de la función.

No puedo decir que esto sea bueno o malo, pero fue efectivo al indicar que el parámetro no debía usarse en la función.


Mucha gente los usa para variables privadas de propiedades (las variables que realmente almacenan los valores para propiedades públicas).


No hay un significado definido por el lenguaje, es solo una convención que algunas personas usan para distinguir las variables de instancia de las variables locales. Otras variaciones incluyen m_foo (y s_foo o g_foo o variables estáticas) o mFoo; alternativamente, a algunas personas les gusta prefijar las variables locales (y los parámetros) en lugar de las variables de instancia.

Personalmente no uso prefijos como este, pero es una elección de estilo. Siempre que todos los que trabajan en el mismo proyecto sean consistentes, generalmente no es un gran problema. Aunque he visto un código horriblemente inconsistente ...


El guión bajo antes de un nombre de variable _val no es más que una convención. En C #, se usa cuando se define la variable de miembro privado para una propiedad pública.

Añadiré a lo que @ Steven Robbins dijo:

private string _val; public string Values { get { return _val;} set {_val = value;} }


Hay otra ventaja al iniciar una propiedad de instancia con '' '', aparece primero en Intellisense.
Cuando creo una clase de valor / modelo / POCO, no uso '' ''.