में फ़ोरैच लूप का उपयोग करते समय संग्रह संशोधित करना मूल रूप से, मैं फ़ोरैच लूप के अंदर एक सूची से किसी आइटम को हटाना चाहता हूं। मुझे पता है कि लूप का उपयोग करते समय यह संभव है, लेकिन अन्य उद्देश्यों के लिए, मैं जानना चाहता हूं कि यह फ़ोरैच लूप का उपयोग करके प्राप्त किया जा सकता है या नहीं।सी #
a = [1, 2, 3, 4, 5, 6, 7, 8, 9]
for i in a:
print i
if i == 1:
a.pop(1)
यह निम्न आउटपुट
>>>1
3
4
5
6
7
8
9
लेकिन जब सी # में इसी तरह कुछ कर रही है, मैं एक InvalidOperationException मिल देता है, मैं सोच रहा था:
अजगर में हम निम्न तरीके से प्राप्त कर सकते हैं अगर इसके आसपास होने का कोई तरीका था, बस लूप के लिए बस उपयोग किए बिना।
सी # में कोड है कि मैं जब अपवाद उत्पन्न हुआ था इस्तेमाल किया:
static void Main(string[] args)
{
List<string> MyList = new List<string>(new string[] { "1", "2", "3", "4", "5", "6", "7", "8", "9"});
foreach (string Item in MyList)
{
if (MyList.IndexOf(Item) == 0)
{
MyList.RemoveAt(1);
}
Console.WriteLine(Item);
}
}
अग्रिम
मैं मुख्य रूप से सोच रहा था कि अगर मैं foreach उदाहरण के साथ कहीं कुछ याद किया था, लेकिन अगर यह प्राप्त करने योग्य नहीं है, कम से कम अब इसकी पुष्टि हुई है! जवाब के लिए धन्यवाद – ThePower