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); } } } }