c# - Assignment of fields/properties in a struct -
संभव डुप्लिकेट:
ऐसा क्यों है <पूर्व>
माइस्ट्रेट परीक्षण = नया माइस्ट्रैक्ट (); Test.Closed = सच;
महान काम करता है, लेकिन
MyDictionary [key]। बंद = सच;
दिखाता है "अभिव्यक्ति को संशोधित नहीं किया जा सकता क्योंकि यह एक चर नहीं है" त्रुटि को संकलन करने में त्रुटि?
इन दोनों मामलों में असाइनमेंट के बारे में अलग क्यों है?
नोट:
MyDictionary प्रकार
संरचना के लिए कोड है:
सार्वजनिक संरचना माइक्रांट {// अन्य वैरिएबल सार्वजनिक बूल इस्कलॉज; सार्वजनिक बूल बंद {प्राप्त करें {वापसी इस्लामिक है; } सेट {इस्कलॉल्ड = वैल्यू; }} // कन्स्ट्रक्टर}
क्योंकि
MyDictionary [key] एक संरचना लौटाता है, यह वास्तव में संग्रह में वस्तु का एक प्रतिलिपि लौट रहा है, वास्तविक वस्तु नहीं है जो कि जब आप किसी कक्षा का उपयोग करते हैं तो क्या होता है संकलक आपको इस बारे में चेतावनी दे रहा है।
इस पर काम करने के लिए, आपको
MyDictionary [key] को फिर से सेट करना होगा, शायद इस तरह:
var tempObj = MyDictionary [चाबी]; TempObj.Closed = सच; MyDictionary [प्रमुख] = tempObj;
Comments
Post a Comment