2017-05-18 16 views
-1

考慮下面的代碼:一個布爾是否到的ToString()的調用總是分配內存

private bool flag; 

private void Test() 
{ 
    Console.WriteLine(flag.ToString()); 
} 

假設測試()被調用多次,每次將它分配內存,或者是有一些機制在C#(編譯器或運行時),優化呢?

我聽說過「String interning」,但我不確定它是否適用於此類場景,或僅在涉及字符串常量時執行。

+0

你爲什麼在意? –

+1

您可以隨時...閱讀[source](https://github.com/dotnet/coreclr/blob/0310a1e18c3322b0f1e582583f6597094e6da1cb/src/mscorlib/src/System/Boolean.cs)。請參閱 –

+1

。 http://stackoverflow.com/q/5920209/7990423 – CHS

回答

2

不,你可以自己看看sourcesToString()方法返回的值是readonly static字段。

相關問題