सटीक त्रुटि बनाने:सूची सूचकांक रेंज अपवाद में से जब एक कार्य
Index was out of range. Must be non-negative and less than the size of the collection.
मैं सूचकांक सरणियों है और अनगिनत बार सूचीबद्ध करता है। मैंने सरणी के साथ लूप के लिए उपयोग किया है और अनगिनत बार सूचीबद्ध करता है। डेटा वहां है, यह काम करता है। सिवाय जब मैं अपने फ़ंक्शन के लिए कोई कार्य बनाने का प्रयास करता हूं। आपको याद है, मैंने सफलतापूर्वक इसी तरह के फ़ंक्शन के लिए फ़ोरैच लूप के साथ ऐसा किया है; इस नए व्यक्ति को दो तर्कों की आवश्यकता है, इसलिए मैं फ़ोरैच लूप का सही उपयोग नहीं कर सकता। कम से कम मुझे नहीं लगता कि मैं कर सकता हूं।
if (addressList != null) {
textBox1.Text += ("Address List Length: " + addressList.Count + Environment.NewLine);
for (int i = 0; i < addressList.Count; i++) {
textBox1.Text += ("Task for " + addressList[i] + ":" + portList[i] + " initiated." + Environment.NewLine);
Task.Factory.StartNew(() => PingTaskAdapted(addressList[i], portList[i]));
}
}
else textBox1.Text = ("No IPs have been added.");
मान लिया जाये कि addressList[0]
google.com है और portList[0]
80 है, आउटपुट::
Address List Length: 1
Task for google.com:80 initiated.
तो कार्यक्रम को तोड़ने, मुझे उस कह PingTaskAdapted पर दृश्य स्टूडियो के साथ
यहाँ गलत कोड है() मैं एक इंडेक्स को कॉल कर रहा हूं जो सीमा से बाहर है, जब यह सचमुच सिर्फ इंडेक्स को प्रश्न में मुद्रित करता है, क्योंकि वे मौजूद हैं।
और बस स्पष्ट होने के लिए, अगर मैं PingTaskAdapted(addressList[0], pingList[0]);
पर कॉल करता हूं तो यह कोई समस्या नहीं है।
आप Enumerable.Zip' का उपयोग करना चाहिए '। – Alexander