2009-05-19 53 views

Respuesta

1

También puede utilizar el operador new al igual que con otros tipos de objetos:

int[] array = new int[5]; 

o, con una variable:

int[] array = new int[someLength]; 
+7

Esto no es muy dinámico ¿verdad? –

+0

¿Por qué no? Puede usar una variable en lugar de un literal 5 allí. –

+0

una vez definido, tendrá que volver a iniciar la matriz para agregar más de 5 elementos – Natrium

8

Primero haga una lista de arrays. Agregar/eliminar elementos. Y luego ArrayList.ToArray()

¡Y ahí está su matriz!

3
object foo = Array.CreateInstance(typeof(byte), length); 
21

Me gustaría agregar a la respuesta de Natrium que las colecciones genéricas también admiten este método .ToArray().

List<string> stringList = new List<string>(); 
stringList.Add("1"); 
stringList.Add("2"); 
stringList.Add("3"); 
string[] stringArray = stringList.ToArray(); 
+1

Como nota, admiten ToArray() porque, internamente, la lista simplemente utiliza una matriz inmutable y la aumenta con nuevas asignaciones según sea necesario. –

4

Ok, la inicialización del array me da cada vez. así que tomé 10 minutos para hacer esto bien.

static void Main(string[] args) 
    { 
     String[] as1 = new String[] { "Static", "with", "initializer" }; 
     ShowArray("as1", as1); 

     String[] as2 = new String[5]; 
     as2[0] = "Static"; 
     as2[2] = "with"; 
     as2[3] = "initial"; 
     as2[4] = "size"; 
     ShowArray("as2", as2); 

     ArrayList al3 = new ArrayList(); 
     al3.Add("Dynamic"); 
     al3.Add("using"); 
     al3.Add("ArrayList"); 
     //wow! this is harder than it should be 
     String[] as3 = (String[])al3.ToArray(typeof(string)); 
     ShowArray("as3", as3); 

     List<string> gl4 = new List<string>(); 
     gl4.Add("Dynamic"); 
     gl4.Add("using"); 
     gl4.Add("generic"); 
     gl4.Add("list"); 
     //ahhhhhh generic lubberlyness :) 
     String[] as4 = gl4.ToArray(); 
     ShowArray("as4", as4); 
    } 

    private static void ShowArray(string msg, string[] x) 
    { 
     Console.WriteLine(msg); 
     for(int i=0;i<x.Length;i++) 
     { 
      Console.WriteLine("item({0})={1}",i,x[i]); 
     } 
    } 
-1
int[] array = { 1, 2, 3, 4, 5}; 

for (int i=0;i<=array.Length-1 ;i++) { 
    Console.WriteLine(array[i]); 
} 
Cuestiones relacionadas