Ver Mensaje Individual
  #1 (permalink)  
Antiguo 02/01/2008, 06:49
chcma
 
Fecha de Ingreso: junio-2003
Ubicación: Asturias
Mensajes: 2.429
Antigüedad: 21 años, 8 meses
Puntos: 7
Recorrer y eliminar elementos de una lista C# o VB, tanto da.

Buenas tardes !!!

Bueno gente, el problema que tengo es el siguiente: Tengo unos elementos en una lista, de los cuales quiero eliminar algunos, es decir, los que cumplan un criterio.

En principio me puse a hacerlo con un Foreach, pero claro... me da error por estar modificando la lista durante el bucle, algo lógico.

Entonces... ¿Alguien me puede dar una idea de como eliminar los elementos de una lista que cumplan un cierto criterio?

Codigo actual:
Código:
        private void ComprobarEstadoClientes()
        {
            while (true)
            {
                List<Socket> objLista = this.listaSockets;                
                foreach (Socket objSocket in objLista)
                {
                    if (objSocket.Poll(2000, SelectMode.SelectRead))
                    {
                        if (FinConexion != null)
                        {
                            string ipClienteConectado = ((IPEndPoint)objSocket.RemoteEndPoint).Address.ToString();
                            int puertoClienteConectado = ((IPEndPoint)objSocket.RemoteEndPoint).Port;
                            FinConexion(ipClienteConectado, puertoClienteConectado);
                        }
                        listaSockets.Remove(objSocket);
                    }
                }
            }
        }
__________________
Charlie.