UNIDAD 4: PROGRAMACION VISUAL C# PROCEDIMIENTOS Y FUNCIONES

TEMA 5: VISUAL WEB DEVELOPER 2005 C# ARREGLOS COMO PARAMETROS

Para pasar un arreglo completo como parametro a un procedimiento a una funcion solo se manda el nombre del arreglo sin corchetes e indices, en el procedimiento o funcion 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.

Sim embargo es conveniente aclarar, que a diferencia de variables escalares normales, c# no genera una nueva variable en memoria ni tampoco copia los datos al arreglo que recibe, en su lugar c# sigue usando los datos que estan en el arreglo o memoria original, es por esta razon 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:

Programa

<%@ Page Language="C#" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<script runat="server">
protected void Button1_Click(object sender, EventArgs e)
{
// creando una lista local
int[] lista = new int[5];
// cargando la lista local con 10,11,12,13,14
for (int x = 0; x <= 4; x++) { lista[x] = x + 10; };
// pasandola a procedimiento
// observar que se manda sin corchetes
proc1(lista);
//usando ciclo foreach para desplegar
foreach (int r in lista)
LISTA.Items.Add(r.ToString());
}
void proc1(int[] vector)
// observar que se recibe sin tamano definido
{
// sumandole 15
for (int x = 0; x <= 4; x++) { vector[x] = vector[x] + 15; };
// y tampoco se esta regresando nada
}
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>PROCEDIMIENTOS FUNCIONES </title>
</head>
<body>
<form id="form1" runat="server">
<BR>
&nbsp;<asp:ListBox ID="LISTA" runat="server" Height="134px" Width="59px"></asp:ListBox>
<asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Text="OK" />
</form>
</body>
</html>

Corrida:

image478.jpg

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

TAREAS PROGRAMACION VISUAL WEB DEVELOPER 2005 C#

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

2.- 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