UNIDAD 4: PROCEDIMIENTOS Y FUNCIONES

C# POCKET PDA 5: ARREGLOS COMO PARAMETROS


Para pasar un arreglo completo como parametro a un procedimiento a una función solo se manda el nombre del arreglo sin corchetes e indices, en el procedimiento o función que recibe solo se declara un arreglo del mismo tipo y se puede usar el mismo o diferente nombre del arreglo sin corchetes e indices.

Sin embargo es conveniente aclarar, que a diferencia de variables escalares normales, chsarp no genera una nueva variable en memoria ni tampoco copia los datos al arreglo que recibe, en su lugar chsarp sigue usando los datos que estan en el arreglo original, es por esta razón que cambios que se le hagan a los datos del arreglo que recibe realmente se esta haciendo al arreglo original como lo muestra el siguiente ejemplo:

Prog18.aspx

// inicializando objetos mobiles
// y definiendo lenguaje a usar por servidor
<%@ Page Inherits="System.Web.UI.MobileControls.MobilePage"
Language=CS%>
<%@ Register TagPrefix="mobile"
Namespace="System.Web.UI.MobileControls"
Assembly="System.Web.Mobile"%>
// todos los controles ponerlos dentro de una forma
<mobile:Form runat=server>
<mobile:LIST ID=MILISTA RUNAT=SERVER></mobile:LIST>
<mobile:COMMAND TEXT=LISTAR ONCLICK=LISTAR RUNAT=SERVER/><BR>
</mobile:Form>
<SCRIPT RUNAT=SERVER>
void LISTAR(Object sender, EventArgs e)
{
// creando y cargando una lista local con 5 elementos
// creando una lista local
int[] lista={1,2,3,4,5};
// pasandola a un procedimiento sin parentesis y observar que
// pasa con los datos originales
PROC1(lista);
// desplegando lista original
foreach(int x in lista)
{MILISTA.Items.Add(x.ToString() ); };
}
void PROC1(int[] vector)
{
// sumandole 100 a vector
for (int x=0; x<=4; x++)
{ vector[x]=vector[x]+100;};
}
</SCRIPT>

corrida prog18.aspx

image500.jpg

Es de recordar que los cambios que le hagan al arreglo dentro de la función se reflejaran en el arreglo original es por esto que si se quiere modificar un arreglo en una función no hay necesidad de regresar ningun valor.

Se uso ahora el mobilcontrol:LIST en lugar de LISTBOX para recordar que existe este control tambien.

TAREA

Inicializar 10 edades en el principal mandar la lista a un procedimiento que la convierte a meses, desplegar en principal.

Capturar un arreglo de 7 ciudades en un primer procedimiento, sortear en un segundo y desplegar en un tercero la lista original y la lista ordenada.

Politica de Privacidad