c# boxing mvc
因.net framework 世界的所有物件都來自於Object class,其實滿容易將東西放進object定義裡。
TempData["switch"] = true;
像上面類似的程式碼,就會不自覺的寫出,當系統變大而程式又抄來抄去,可能效能會有點影響。
Boxing 是value type 轉換成 reference type的一個過程。
它會將原本在stack裡的值,複製一份到heap裡,並回傳參考回去。
這樣子的變動是需要成本的,另外在GC可能也是一個負擔。
在官方http://docs.microsoft.com/zh-tw/dotnet/framework/performance/performance-tips的文件說比simple reference assignment多花費20倍。