Avatar ·

Error "Collection was modified; enumeration operation may not execute" en C#: ¿cómo solucionarlo?

¡Hola, colegas! Soy nuevo en C# y WCF, y me encontré con un error extraño: "Collection was modified; enumeration operation may not execute". Tengo un servicio WCF que procesa pedidos. Dentro del servicio uso `ConcurrentDictionary` para almacenar pedidos activos. Periódicamente ejecuto un thread en segundo plano que verifica los estados de los pedidos y elimina los completados. Aquí está el código simplificado: ```csharp public class OrderService { private ConcurrentDictionary _orders = new ConcurrentDictionary(); public void ProcessOrders() { // Thread en segundo plano para limpieza Task.Run(() => { while (true) { foreach (var kvp in _orders) { if (kvp.Value.Status == OrderStatus.Completed) { _orders.TryRemove(kvp.Key, out _); } } Thread.Sleep(1000);