2011-01-04 10 views
5

He estado buscando una definición decente de matrices estáticas. Intenté usar fuentes msdn y C#, pero no puedo encontrar una definición. Da ejemplos, pero no hay definiciones ...definición de matrices estáticas

¿Alguien sabe algún enlace o definición y características de una matriz estática, por favor?

+1

Quizás esté interesado en una definición de "estática"? http://msdn.microsoft.com/en-us/library/79b3xss3.aspx –

Respuesta

10

Cuando habla de una "matriz estática", en realidad está hablando de dos cosas separadas.

Una sería la palabra clave static. Cuando se aplica a variables esto significa que la variable vive en el nivel class, y cada objeto de ese tipo no obtendrá su propia instancia.

Una array es simplemente una estructura de datos para contener valores múltiples de algún tipo.

Por lo tanto, un static array es simplemente una matriz en el nivel de clase que puede contener varios tipos de datos.

Por ejemplo:

En su clase de TravelRoute, es posible que tenga un determinado número de posibles destinos en una ruta. Estos podrían definirse así:

class TravelRoute { 
    public static Destination[] possibleDestinations = 
      new Destination[]{ 
       new Destination("New York"), 
       new Destination("Minneapolis"), 
       new Destination("NParis") 
      }; 
} 

Esto va a definir los posibles destinos en un TravelRoute. A continuación, puede acceder a la matriz de esta manera:

Destination one = TravelRoute.possibleDestinations[0]; 
2

No hay nada (que yo sepa) que es especial acerca de las matrices estáticas, per se, que puede ser por qué usted está teniendo problemas para encontrar buenos escribir-ups acerca de ellos. Corrígeme si me equivoco, pero me pregunto si es la parte "estática" lo que más te interesa. Básicamente, estático significa que el miembro existe en el nivel de clase en lugar del nivel de instancia, por lo que una matriz estática sería una matriz que pertenece a la clase (en lugar de una instancia de la clase).

Ejemplo:

public class Foo 
{ 
    public static int[] Numbers {get; set;} 
} 

public class Bar 
{ 
    public int[] Numbers {get;set;} 
} 

public class Program 
{ 
    public void Main() 
    { 
// NOTE: Foo itself has this array 
      Foo.Numbers = new int[]{1,2,3}; 

// NOTE: it's this particular instance of a Bar that has this array 
      Bar bar = new Bar(); 
      bar.Numbers = new int[]{1,2,3}; 

    } 
} 
4

¿Usted posiblemente significa matrices de tamaño fijo?

unsafe struct Foo 
{ 
    fixed int Values[8]; 
} 

Si es así, obtendrá más resultados de búsqueda mediante el uso de matrices de tamaño fijo como elemento de consulta :)

+3

una matriz de tamaño fijo es lo que finalmente entendí que era una matriz estática, así que gracias MattDavey por su aporte. fue muy atractivo – Simagen

+0

http://msdn.microsoft.com/en-us/library/zycewsya%28v=vs.80%29.aspx – MattDavey

Cuestiones relacionadas