我听过并读过一个字符串无法更改(不可变?).我想这应该是正确的.但我也听说过两个内容相同的字符串共享相同的内存空间(或者你称之为内存空间).它是否正确?
如果是这样,这是否意味着如果我创建一个包含数千个字符串的List,如果大多数字符串彼此相等,那么根本不会占用太多空间?
在 CLR 2.0 中,有什么方法可以查看所有已被 intern 的字符串?我查看了 CLR Profiler API,但看不到任何 API 调用来监视字符串何时被插入。另外,实习字符串的范围是什么?卸载应用程序域时是否会收集实习字符串,或者它们是否跨越应用程序域?