En resumen, estático significa efectivamente "asociado con un tipo en lugar de una cualquiera de instancia del tipo". Así que hay un conjunto de variables estáticas para un tipo (dentro de un Dominio de aplicación) si tiene 0 instancias o un millón; que no es necesario una instancia para acceder a un miembro estático, etc.
El exacta punto de inicialización de variables estáticas depende de si también hay un constructor estático o no, pero muy a grandes rasgos se trata de "una sola vez, por lo general antes algo significativo sucede en la clase ". (Ver this blog post para una descripción más detallada.)
Mientras readonly
campos pueden ser estáticos o instancia (es decir, relacionada con el tipo o relacionadas con una instancia del tipo), const
valores son siempre implícitamente estática (que' volver a las constantes de tiempo de compilación, por lo que no tendría sentido tener una copia por instancia).
A veces se puede ver static
que se describe como "compartida entre todas las instancias de un tipo" - Yo personalmente aversión a esa descripción, ya que sugiere que tiene que haber al menos un caso ... cuando en realidad, que Don No es necesario ninguna instancia para utilizar un miembro estático. Prefiero pensar que están completamente separados, en lugar de ser "compartidos" entre instancias.
http://www.codeproject.com/Articles/15269/Static-Keyword-Demystified – ken2k
¿Es esta una preguntas de la tarea? –
¿Ha leído la documentación de MSDN en ['static'] (http://msdn.microsoft.com/en-us/library/98f28cdx.aspx)? ¿Qué no entiendes? – Oded