C# में "Collection was modified; enumeration operation may not execute" त्रुटि: इसे कैसे ठीक करें?
नमस्ते साथियों! मैं C# और WCF में नया हूँ, और मुझे एक अजीब त्रुटि मिली: "Collection was modified; enumeration operation may not execute"।
मेरे पास एक WCF सेवा है जो ऑर्डर प्रोसेस करती है। सेवा के अंदर, मैं सक्रिय ऑर्डर स्टोर करने के लिए `ConcurrentDictionary` का उपयोग करता हूँ। समय-समय पर, मैं एक background thread चलाता हूँ जो ऑर्डर की स्थिति जाँचता है और पूर्ण हुए ऑर्डर को हटाता है। यहाँ सरलीकृत कोड है:
```csharp
public class OrderService
{
private ConcurrentDictionary _orders = new ConcurrentDictionary();
public void ProcessOrders()
{
// सफाई के लिए background thread
Task.Run(() =>
{
while (true)
{
foreach (var kvp in _orders)
{
if (kvp.Value.Status == OrderStatus.Completed)
{
_orders.TryRemove(kvp.Key, out _);
}
}
Thread.Sleep(1000);