今天以前,我一直以為「在 C# 程式裡面只要是 String 型態,其內容都會在 String Pool 有一份,而且相同的 String 實體物件在記憶體中只會有一份。」,這個觀念在今天得到了修正:「只有在編譯時期的 Literal String,預設才會放進 String Pool,執行時期動態組成的 String 物件則不會。」,再次命中了「程式是照我們寫的跑,不是照我們想的跑。」
2017-03-20
今天以前,我一直以為「在 C# 程式裡面只要是 String 型態,其內容都會在 String Pool 有一份,而且相同的 String 實體物件在記憶體中只會有一份。」,這個觀念在今天得到了修正:「只有在編譯時期的 Literal String,預設才會放進 String Pool,執行時期動態組成的 String 物件則不會。」,再次命中了「程式是照我們寫的跑,不是照我們想的跑。」