ठीक है, अब है कि हम जानते हैं कि अपने उद्देश्य के बजाय आप कैसे इसे हासिल करने की कोशिश कर रहे थे की, यह बहुत आसान है अपने प्रश्न का उत्तर दें: आपको foreach
लूप का उपयोग नहीं करना चाहिए। foreach
लगभग संग्रह से आइटम पढ़ रहा है - संग्रह की सामग्री को नहीं बदल रहा है। यह एक अच्छा काम है कि सी # कंपाइलर पुनरावृत्ति परिवर्तनीय रीड-ओनली बनाता है, अन्यथा यह आपको वैरिएबल के मूल्य को बदलने के बिना आपको वास्तव में संग्रह को बदलने के बिना बदल देगा। (वहाँ परिवर्तन दिखाई देने में अनुमति देने के लिए अधिक महत्वपूर्ण परिवर्तन होने के लिए होगा ...)
मुझे लगता है तुम सिर्फ हैं:
for (int i = 0; i < array.GetLength(0); i++)
{
for (int j = 0; j < array.GetLength(1); j++)
{
array[i, j] = new Item();
}
}
कि यह मानते हुए है एक आयताकार सरणी (एक Item[,]
) है। यदि यह एक Item[][]
है तो यह सरणियों की एक सरणी है, और आपको लगता है कि संभाल चाहते हैं कुछ अलग ढंग से - बाहरी यात्रा के लिए काफी संभवतः एक foreach
साथ:
foreach (var subarray in array)
{
for (int i = 0; i < subarray.Length; i++)
{
subarray[i] = new Item();
}
}
स्रोत
2012-08-04 18:03:06
आप क्यों नहीं बस एक और चर का उपयोग न? – sczdavos
@sczdavos वास्तव में कैसे? – user1306322
'var myItem; foreach (दोDimArray में var आइटम) myItem = new item(); ' – sczdavos