मैं स्ट्रिंग प्रकार के मेमोरी लेआउट को जांचने के लिए एसओएस डीबग एक्सटेंशन डीएल का उपयोग कर रहा हूं। और नीचे परिणाम है।.NET स्ट्रिंग मान कहां रखता है?
!
ESP/REG Object Name
0015EFC0 01c6b9cc System.String hello,world
DSO!, 01c6b9cc
Name: System.String
MethodTable: 6de3f9ac
EEClass: 6db78bb0
Size: 36(0x24) bytes
File: C:\Windows\Microsoft.Net\assembly\GAC_32\mscorlib\v4.0_4.0.0.0__b77a5c561934e089>\mscorlib.dll
String: hello,world
Fields:
MT Field Offset Type VT Attr Value Name
6de42978 40000ed 4 System.Int32 1 instance 11 m_stringLength
6de41dc8 40000ee 8 System.Char 1 instance 68 m_firstChar
6de3f9ac 40000ef 8 System.String 0 shared static Empty
>> Domain:Value 00331488:01c61228 <<
अब मैं सोच रहा हूँ कर जहां वास्तव में स्ट्रिंग मान "हैलो दुनिया" संग्रहीत किया जाता है है?
धन्यवाद।
संभवतः ढेर पर कहीं और 'char []', मुझे लगता है। – Joey