InicioHazlo Tu MismoProgramando en C# 22
Hoy vamos a ver el uso de un iterador distinto al que venimos viendo... algunos dirán "¿Por qué no lo diste antes?" pues la respuesta es simple, mi intención es que quede bien aprendido en ustedes, y la mejor forma de mostrar la potencia de este iterador (que es distinto al while y al for) es mostrando cómo funciona respecto de la programación orientada a objetos.
El iterador en especial es el foreach, que la idea general de este es poder iterar array un poco más complejos y con objetos bastante más complicados.
El uso es tan simple que lo convierte en una pavada, pero el entendimiento de como funciona es la cuestión grosa acá (no tienen que ser "grosos" para entenderlo, simplemente mirar, como hice yo cuando estudié esto... y ahora me gasto en postearlo en Taringa).
En primer lugar, en java para lograr lo mismo, si bien tiene una especie de foreach... tiene para hacer lo mismo de tres maneras, con una clase que se llama Iterator y que se instancia con un objeto que te devuelve el ArrayList de java que se llama iterator y que dentro de un while se ejecuta con la función HasNext() y dentro del encapsulamiento del while se iguala una instancia de una clase con el iterador y una función que se llama Next()... en pocas palabras son 5 líneas de código (con todo y las llaves).
La otra forma es con el for... donde tenemos un array, supongamos llamado "A" y tendremos que poner esta sentencia for(nombreClase a : A)... si bien funciona en Java, esto lo traté de ver bien como funcionaba en C# para ver si había alguna similitud.
Pues la hay! y es el foreach.
El ejemplo (la clase de ejemplo primero)

<?
using System
;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace 
ConsoleApplication1
{
    class 
Class1
    
{
        private 
string nombre;
        private 
string apellido;
        private 
int id;

        public 
Class1(int idstring nombrestring apellido)
        {
            
this.nombre nombre;
            
this.apellido apellido;
            
this.id id;
        }

        public 
string pr_nombre
        
{
            
get
            
{
                return 
nombre;
            }
            
set
            
{
                
nombre value;
            }
        }

        public 
string pr_apelido
        
{
            
get
            
{
                return 
apellido;
            }
            
set
            
{
                
apellido value;
            }
        }

        public 
int pr_id //Esta id, cuando veamos algo de base de datos (y que no creo que sea con C#) es para distinguir cual es cual de todas las instancias.
        
{
            
get
            
{
                return 
id;
            }
            
set
            
{
                
id value;
            }
        }

    }
}
>

Y la principal donde se muestra el foreach, presten atención, es MUY parecido a lo que les expliqué de java, solo cambia la sintaxis levemente:
<?
using System
;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace 
ConsoleApplication1
{
    class 
Program
    
{
        static 
void Main(string[] args)
        {
            
ArrayList a = new ArrayList();
            
a.Add(new Class1(1"Juan""Paretti"));
            
a.Add(new Class1(2"Miguel""Gonzales"));
            
a.Add(new Class1(3"Roberto""Merlo"));
            
a.Add(new Class1(4"Martín""Ganzu"));

            foreach (
Class1 b in a//En java esto se escribe for(Class1 b : a)
            
{
                if (
b.pr_apelido.IndexOf("Merlo") != -1)
                {
                    
Console.WriteLine("Clase encontrada: id " b.pr_id);
                    
Console.ReadKey();
                }
            }
        }
    }
}
>


Para el siguiente veremos con qué les amplío el manejo de ArrayList, siendo que tiene ENORMES usos, sobre todo para mapeos en bases de datos.
Saludos, Lelale.
Datos archivados del Taringa! original
12puntos
1,273visitas
0comentarios
Actividad nueva en Posteamelo
0puntos
1visitas
0comentarios
Dar puntos:

Dejá tu comentario

0/2000

Autor del Post

L
Lelale🇦🇷
Usuario
Puntos0
Posts52
Ver perfil →
PosteameloArchivo Histórico de Taringa! (2004-2017). Preservando la inteligencia colectiva de la internet hispanohablante.

CONTACTO

18 de Septiembre 455, Casilla 52

Chillán, Región de Ñuble, Chile

Solo correo postal

© 2026 Posteamelo.com. No afiliado con Taringa! ni sus sucesores.

Contenido preservado con fines históricos y culturales.