देखा कुछ सी # कोड में व्यवहार का एक अजीब सा है कि मैं एक नुकसान में हूँ समझाने के लिए। क्या मुझे समझ में एक महत्वपूर्ण बात याद आ रही है, इसलिए उम्मीद है कि वहां कोई व्यक्ति मेरे लिए प्रकाश पर स्विच कर सकता है।सी IEnumerable
IEnumberable<myObject> objects = GetObjectsFromApiCall();
for (int i = 0; i < objects.Count(); i++)
{
if (String.IsNullOrEmpty(objects.ElementAt(i).SubObject.Title))
{
SubObject sub = GetSubObjectFromDatabase((long)objects.ElementAt(i).SubObject.Id);
if (sub != null)
{
objects.ElementAt(i).SubObject.Title = sub.Title;
}
}
}
जब आप इसके माध्यम से कदम, इस कोड के बारे में सब कुछ ठीक से काम करने लगता है:
कोड का एक खंड है कि इस तरह दिखता है मिल गया। "ऑब्जेक्ट्स" संग्रह अपेक्षित के रूप में आबादी है। "उप" एकत्रित के रूप में लाया जाता है और एक आबादी वाले शीर्षक संपत्ति सहित अपेक्षित गुणों का पूरा सेट होता है। निष्पादन के दौरान कोई त्रुटि नहीं फेंक दी जाती है।
लेकिन ... SubObject.Title संपत्ति (जो सिर्फ मानक प्राप्त है; सेट; कोड) मौजूद है कि प्रत्येक वस्तु में हठ खाली रहता है।
मुझे नुकसान हुआ है। कोई भी बता रहा है कि क्या हो रहा है?
संपादित करें: जिन लोगों ने सुझाव दिया है कि मुझे लूप और एलिमेंट एट के लिए उपयोग नहीं करना चाहिए, मैंने एक फोरैच लूप के साथ शुरुआत की लेकिन सोचा कि यह समस्या का स्रोत हो सकता है क्योंकि यह हर बार एक नया सबऑब्जेक्ट ला रहा था। अब आपकी मदद के लिए धन्यवाद, और ForEach बहाल।
चीयर्स, मैट
वहां आप जाते हैं: [IENumerable के भीतर कोई आइटम प्रॉपर्टी अपडेट करना लेकिन संपत्ति सेट नहीं रहती है?] (Http://stackoverflow.com/a/9104212/93732) –
इस कोड में इतनी धीमी गति होने की संभावना है मजाकिया भी नहीं है। – ChaosPandion
क्या आप * वास्तविक * कोड की प्रतिलिपि/पेस्ट कर सकते हैं, ऐसा नहीं * * * * * वास्तविक * कोड की तरह दिखता है? – ken2k