2017-05-18 3 views
-1

를 할당 부울에 ToString()를 호출합니까 : 그것은 메모리마다 시간을 할당합니다,은 항상 다음과 같은 코드를 생각해 메모리를

private bool flag; 

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

테스트()를 여러 번 호출한다고 가정을, 또는 어떤 메커니즘이 C# (컴파일러 또는 런타임)에서 이것을 최적화?

나는 "String interning"에 대해 들어 봤지만이 시나리오와 같은 시나리오에서 실행되는지 또는 문자열 상수가 포함될 때만 나는지 잘 모르겠습니다.

+0

왜 신경 쓰시겠습니까? –

+1

언제든지 ... [소스] (https://github.com/dotnet/coreclr/blob/0310a1e18c3322b0f1e582583f6597094e6da1cb/src/mscorlib/src/System/Boolean.cs)를 읽을 수 있습니다. –

+1

참조. http://stackoverflow.com/q/5920209/7990423 – CHS

답변

2

아니요, sources에서 직접 확인할 수 있으며 ToString() 메서드는 readonly static 필드의 값을 반환합니다.

관련 문제