c# - विजुअल स्टुडियो डीबगर गलत मान दिखाता है(रिक्त है जहां एक मान होना चाहिए)




visual-studio-2012 (2)

मुझे यकीन नहीं है, लेकिन मुझे लगता है कि यह ChangeTracker.Entries()ChangeTracker.Entries() फ़ंक्शन के साथ संयोजन में ChangeTracker.Entries() लूप का एक प्रभाव है।

विदेशी मुद्रा कार्य मांग पर कुछ आंकड़ों को संग्रहित करता है तो यह ChangeTracker.Entries() से सभी डेटा प्राप्त नहीं कर रहा है और बाद में प्रत्येक मान के साथ लूप शुरू कर रहा है।

यह फ़ंक्शन से पहले मूल्य प्राप्त कर रहा है -> मूल्य निष्पादन -> दूसरा मूल्य प्राप्त करना -> ...

तो मान शून्य है, क्योंकि आपने ऑब्जेक्ट का उपयोग अभी तक नहीं किया है।

अपने ChangeTracker.Entries() को ChangeTracker.Entries().ToList() में ChangeTracker.Entries().ToList() और मुझे लगता है कि आपको एक परिवर्तन दिखाई देगा।

गहन समझ के लिए yield आदेश पर एक नज़र डालें, जो कि द्विआधारी कार्य कैसे करता है। (तर्क थोड़ा भ्रमित है :))

मैं फँस गया हूँ, ऐसा क्यों होता है? कोड सचमुच कहता है कि इकाई! = नल, लेकिन डीबगर सोचता है कि यह शून्य है। क्या हो रहा है?

मैं पहले से ही x 86 में बदल गया, पुनः कंपाइल, साफ, यहां तक ​​कि पीसी पुनरारंभ। और कोड हमेशा ऐसा ही था, कोई ऐसा संस्करण नहीं होता है, जहां बयान अलग था। और अगर मैं जारी रखता हूं तो मुझे एक रिक्त-संकेतक अपवाद नहीं मिलता।


मैंने उसी समस्या का अनुभव किया है, जब वैरिएबल को उसी विधि में पहले घोषित किया गया था। उस स्थिति में डीबगर केवल 'नोटिस' पहले चर होगा इसका वास्तविक कोड निष्पादन पर कोई प्रभाव नहीं है।





visual-studio-2012