2010-06-03 26 views
14

he visto [] tales corchetes en C# muy raramente, pero cuando empiezo a aprender asp.net los he visto muchas veces pero aun así no pude entender lo que hacen?¿Qué es [] corchetes en .net?

No forman parte del código que se utiliza para las matrices. Por ejemplo [webmethods] que está justo por encima de los métodos o hay algunas sobre las clases. ¿Son parte de .net o simplemente le dicen algo a CLR? o?

Respuesta

20

Se utilizan para poner atributos en clases o métodos (u otras cosas). Por cierto, puede adjuntar datos a clases que no deberían formar parte de la clase real. Puede leer más sobre ellos here.

+0

Gracias por todas las respuestas. Honestamente los he usado una vez para una depuración y me ayudó a depurar mejor en el estudio visual, pero no lo había entendido lo suficiente.También escuché un poco que es un atributo, pero no sabía qué es lo que hace el atributo. Espero no encontrar nuevas estructuras que deba saber :). Ahora estoy leyendo enlaces. – Freshblood

18

[] los soportes son un operator in C#. El enlace contiene información más detallada y ejemplos de lo que resumí a continuación.

Se utilizan para:

  • tipo de matriz definición
  • acceder a un elemento de una matriz
  • Pueden ser utilizados como indexer parámetros para cualquier tipo
  • Pueden ser utilizados para especificar attributes< - Esto parece lo que está preguntando acerca de
  • Se pueden usar para condiciones inseguras c ode para indexar un desplazamiento desde un puntero
+1

Ese enlace va a SO podcasts (?) –

+9

Ese enlace es menos que útil. – DOK

+0

Gracias corrigió el enlace, ctrl + c no funcionó y no noté que pegué el enlace equivocado. –

1

Es un operador que se usa más comúnmente para indexar en algún tipo de colección. El uso común es para indexar en una matriz.

También se usan comúnmente en C# para definir atributos. Estos pueden aparecer arriba de los métodos y las clases. Son una forma de definir un comportamiento extra para esa clase o método.

MSDN tiene un buen Introduction to Attributes in C#.

+0

otra vez, él dice que no está hablando de Arrys, sino de los atributos .Net. EDITAR: tomó -1 ya que ahora la respuesta tiene una parte relevante. –

1

Son atributos que se publican desde mi teléfono, por lo que no puedo agregar enlaces, solo busco msdn para ver los atributos.

1

Como dice otro, son atributos, realmente debería verificar MSDN sobre ellos, pero en resumen, podría decir que agregan código que puede ejecutarse antes o después de que se ejecute el método, ¡o no ejecutarlo en absoluto! Hacen muchas cosas diferentes, desde ser condicionales para decidir si el método debe ejecutarse o no, para hacer una operación de preprocesamiento, hasta simplemente agregar MetaData al código, para que otras bibliotecas o el compilador puedan encontrarlo y hacer cosas con él.

+0

Soy alguien que no puede obtener la ayuda suficiente de MSDN realmente :). Sé que es causado por mi inglés pobre. Esperaba muestras muy simples en C#. – Freshblood