Sie sind auf Seite 1von 9

Introducción a C# en Unity 

2.1 Arrays  
A  medida  que  aumenta  la  complejidad  del  programa  que  estamos  desarrollando,  se 
hace necesario manipular una gran cantidad de variables y sus respectivos valores, pues 
bien,  en este punto aparecen unos elementos que nos harán la vida mucho más fácil: los 
Arrays, también conocidos como ​Arreglos.  
 
Podemos  pensar  en  un array como un conjunto de variables de un determinado tipo (int, 
bool,  string,  etc),  por  esto,  los  elementos  de  un  array sólo deben poseer un tipo de dato 
en  particular.  Por  ejemplo,  si  en  la  declaración  de  un  array  especificamos  que  los 
elementos  que  lo  componen  son  de  tipo  ​int,   no  se  podrán  asignar  elementos  que  no 
sean de este tipo. 
 
Los  arrays  que  soporta C# están clasificados de acuerdo al número de dimensiones que 
poseen:  ​de  una  dimensión,  ​de  dos  dimensiones  (también  conocidos  como  matrices  o 
tablas),  multidimensionales,  e  incluso  existen  arrays  de  arrays.  Para  los  propósitos  de 
este curso, solo es necesario que abordemos el primer tipo.  
 
Una  ​característica  muy  importante  ​que tienen los arrays es que el primer elemento del 
arreglo empieza por el índice 0​, ​en pocas palabras:  
 
“La primera posición de los elementos de un array es la posición 0”.  
 
Antes  de  continuar  debo  aclarar  algo:  ​los  ​arrays  no  son  tipos  de  variables​​,  ​son  clases 
por  ahora  quédate  con  ese  dato.  Más  adelante  hay  una  sección  dedicada 
exclusivamente a entender las clases. 
 
Ahora  que  ya  sabemos  de  qué  se  tratan  los  arrays,  vamos  a  lo que nos gusta, el código 
:D 
 

www.gametopia.es
1 de 9
¿Cómo declarar e inicializar un Array? 
 
Al  igual  que  como  lo  hicimos  anteriormente  con  las  variables,  los  arrays  se  pueden 
declarar siguiendo unos pasos determinados: 
 
1. Declaración del tipo de dato acompañado de un paréntesis rectangular ([ ]). 
2. Declaración del nombre del array. 
​ compañada nuevamente del tipo de dato. 
3. Uso de la palabra reservada ​“new” a
4. Declaración del tamaño del array. 

Ejemplos: 
 
● Un arreglo llamado “myIntArray”, de tipo entero y con un tamaño de 5: 
int[] myIntArray = new int[5]; 
 
● Un arreglo llamado “myStringArray”, de tipo string y con un tamaño de 100: 
string[] myStringArray = new string[100]; 
 
 
 
Al  igual  que  las  variables,  los  arrays  pueden  ser  inicializados en el momento en que son 
declarados,  en  este  caso,  no  es  necesario  especificar  el  tamaño  del  array,  ya  que  este 
viene dado por el número de elementos de la lista de inicialización.  
 
Para  inicializar  un  array,  es  necesario  agregar  los  valores  de  los  elementos  que  lo 
componen al final de su declaración, de la siguiente forma: 
 
{elemento 0, elemento 1, elemento 2, …, elemento n-1}  
 

www.gametopia.es
2 de 9
 
Ejemplos: 
 
● int[] myIntArray = new int[] { 1, 2, 3, 4, 5 }; 
● string[] weekDays = new string[] { "Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat" }; 
 
Una  característica  de  los  arrays en C#, es que cuando inicializas un array en el momento 
de  su  declaración,  permite  usar  un  ​método  abreviado​​,  mira  cómo  quedarían  los  dos 
ejemplos anteriores, usando este método: 
 
Ejemplos: 
 
● int[] myIntArray = { 1, 2, 3, 4, 5 }; 
● string[] weekDays = { "Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat" }; 
 
Cualquiera  de  las  dos  formas  es  válida,  ya  depende  de  tu  gusto  como  programador 
escoger cual te gusta más ^_^  
 
 
Otro  punto  importante  con  los  arrays  es  que  al  igual  que  las  variables,  ​pueden  ser 
declarados  sin  inicializarlos​​,  sea  porque  al  comienzo  no  sabes  el  tamaño  que tendrá o 
porque  necesitas  que sucedan ciertos eventos primero, lo importante y lo cual no debes 
olvidar  nunca,  es  que  en  el  momento  en  que  necesites  definir  su  tamaño  e  inicializarlo, 
debes  usar  si  o  si  la  palabra  reservada  “​new”,  ​es  decir,  no  puedes  usar  el  método 
abreviado que vimos anteriormente.  
 
Ejemplo: 
 
int[] myNewArray; 
myNewArray = new int[] { 1, 3, 5, 7, 9 }; // ​Forma correcta 
//myNewArray = {1, 3, 5, 7, 9}; // ​Forma Incorrecta 
 
 
 
 
 

www.gametopia.es
3 de 9
¿Cómo acceder y manipular los datos de un Array? 
 
Una  vez  declarado  un  array,  de  inmediato  podemos  acceder  a  los  datos  que  contiene, 
tanto  para  lectura  como  para  escritura.  A  continuación  vamos  a  ver  una  serie  de  scripts 
de  C#  en  Unity3D  como  ejemplos,  con  los  cuales  entenderás  mucho  mejor  estos 
procesos,  tanto  para  acceder  a  una  posición  específica,  como  para  recorrer  un  array 
completo haciendo uso de los bucles que ya viste en una sección anterior. 
 
Lectura 
 
1. Script de lectura de posición específica del array 

 
  Si se ejecuta este script, en la consola de Unity3D veríamos lo siguiente: 
 

 
 
Como  se  puede  ver  en  el  script,  para  acceder  a  una  posición  específica  de  un 
array,  basta  con  nombrar  el  array,  y  en  corchetes  [  ]  indicar  la  posición  que 
queremos consultar. ¿Simple no? 
 
No  lo  olvides,  el  primer  elemento  del  array  está  en  la posición 0, en este caso, la 
primera posición corresponde al elemento con valor “20”.  
 

www.gametopia.es
4 de 9
El  último  elemento  estará  siempre  en  la  posición  “n-1”,  donde n es el tamaño del 
array.  En  este  ejemplo  como  el  tamaño  del  array  es  de  5,  la última posición será: 
n-1  =  5-1  =  4,  es  decir  que  la  última  posición  corresponde  al  elemento  con  valor 
“94”. 
 
 
Tal  vez  en  este  momento  ya  te  estés  haciendo  la  siguiente  pregunta,  o  sino  me 
gustaría que lo pienses por un momento:  
 
“¿Qué pasará si pongo un número mayor de 5 en la consulta del array?” 
 
Veamos lo que sucedería haciendo uso del siguiente script: 
 
2. Script de lectura de posición mayor al tamaño del array: ¡Error! 
 

 
Si se ejecuta este script, en la consola de Unity3D veríamos lo siguiente: 
 

 
 
Efectivamente,  se  producirá  un  error  porque  el  elemento  que  estarías 
consultando  no  existe,  ya que estarías en busca de la posición 10 de un array que 
tiene 5 posiciones. 
 
Ten  siempre  en  cuenta  esto  ya  que  es  un  error  muy  común  cuando  se  usan 
arrays,  y  si  por  algún  motivo  te  encuentras  con  ese  error  en  la  consola  de 
Unity3D, ya sabes por qué sucede y cómo arreglarlo :) 
 

www.gametopia.es
5 de 9
Ahora  imagina  un  caso  en  que  necesitamos  leer  los  valores  de  un  array  de  10, 
100,  200  o  incluso  más  posiciones,  sería  algo  tedioso  y  además  nada  óptimo, 
tener que consultar una a una cada posición.  
 
Pues  bien,  lo  mágico  de  la  programación  es  que  siempre  existe  algo  que 
simplifica  las  cosas.  ¡Para  trabajar  con  arrays  muy  grandes,  nuestros  amigos  los 
bucles llegan al rescate! 
 
Veamos  el  siguiente  script  de  ejemplo,  esta  vez,  vamos  a  usar  un  array  de  tipo 
string como muestra. 
 
3. Script de lectura de un array haciendo uso del bucle “for” 
 

 
 
Si se ejecuta este script, en la consola de Unity3D veríamos lo siguiente: 
 

 
 

www.gametopia.es
6 de 9
Como  puedes  ver,  al  igual  que  que  en  el  primer  script  de  ejemplo,  estamos 
mostrando  el  valor  de  cada  posición  del  array,  pero  en  muchas  menos  líneas de 
código, todo gracias al bucle “for”. 
 
Recuerdas  que  al  comienzo del documento decía que los arrays no son variables 
sino  clases?  Ahora  si  observas  detenidamente  el  ciclo  for,  en  su  valor  máximo 
está  algo  que  dice  “​myGames.Length​​”.  Esto  es  gracias  a  que  “Length”  es  una 
propiedad o atributo de la clase Arrray. ¡No te asustes! 
 
En  este  momento  aún  no  hemos  visto  el  concepto  de  clases  y  seguro  todos 
estos  términos  de  atributo,  propiedades y demás, te suenen extraños y confusos, 
no  te  preocupes,  más  adelante  en  el  curso  los explicaré de forma muy detallada 
:) 
 
Por  el  momento  basta  con  que  sepas  que  ese  atributo  “Length”  nos  permite 
conocer  el  tamaño  del  array,  de  esta  forma,  haciendo  uso  del  bucle  “for” 
podemos recorrer un array independientemente del tamaño que tenga.  
 
En  este  ejemplo,  “myGames.Length”  sería  igual  a  10,  si  lo  aplicaramos  en  el 
anterior ejemplo, “intArray.Lenght” sería igual a 5. ¿Muy útil no? :) 
 
Ahora  que  ya  hemos  visto  todo  el  proceso  de  lectura  de  los  elementos  de  un 
array, vamos a ver cómo los podemos modificar. 
 
Escritura 
 
1. Script de escritura de posición específica del array 

 
 
Si se ejecuta este script, en la consola de Unity3D veríamos lo siguiente: 

www.gametopia.es
7 de 9
 

 
 
En  este  ejemplo,  inicialmente  se  muestra  el  valor  original  de  la posición 2, con el 
que  declaramos  el  array,  es  decir  89,  luego  para  modificarlo  basta  con  usar  el 
operador  “=” e indicar la posición que queremos cambiar y su nuevo valor, en este 
caso la posición 2 con un nuevo valor de 1. 
 
2. Script de escritura de un array haciendo uso del bucle “for” 

 
 
Si se ejecuta este script, en la consola de Unity3D veríamos lo siguiente: 
 

www.gametopia.es
8 de 9
 
En  este  ejemplo,  hemos  usado  el  bucle  “for”  para  cambiar  cada  uno  de  los 
valores  con  los  que  habíamos  inicializado  el  array  “myGames”,  sustituyendolos 
por nuevos valores del mismo tipo “string”. 
 
 
Con  esto  hemos  terminado  la  explicación  de  los  Arrays,  ahora  te  invito  a  que  veas  el 
video  donde  vamos  a  conocer cómo funcionan los Arrays de forma práctica. Espero que 
te  haya  quedado  clara  la  explicación  acerca  de  estos  elementos,  ya  que  nos  serán  de 
mucha  ayuda  en  el  momento  de  desarrollar  nuestros  juegos,  y  si  no,  recuerda  que 
siempre me puedes preguntar :D 

www.gametopia.es
9 de 9

Das könnte Ihnen auch gefallen