|
剛開始學習C#的時候,就聽說CLR對于String類有一種特別的內存管理機制:有時候,明明聲明了兩個String類的對象,但是他們偏偏卻指向同一個實例。如下:
String s1 = "Hello";
String s2 = "Hello";
//s2和s1的實際值都是Hello
bool same = (object) s1 == (object) s2;
//這里比較s1、s2是否引用了同一個對象實例
//所以不能寫作bool same = s1 == s2;
//因為String類重載了==操作符來比較String對象包含的實際值
NET技術:C#中字符串的內存分配與駐留池,轉載需保留來源!
鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。