내가 성능을 위해이 요청하고 - 복싱을 많이 사용은 GC 때로는 사용자를 귀찮게 엿볼에 대한 동결 애플 리케이션을 일으키는 수집 자세한 내용을 제공 힙 할당을 많이합니다.C# 6 문자열 보간은 string.Format()과 같은 복싱을 사용합니까?
1
A
답변
3
모든 문자열 보간 (적어도 일반적인 경우에) 수행 string.Format()
를 호출하는 것입니다.
는 지금, string.Format()
호출하면 꽤 많이 할당하고 권투에, there is talk about improving that in the future하지만 (예를 들어, string.Format("{0:s} - {1:B}: The value is: {2:C2}", DateTime.UtcNow, Guid.NewGuid(), 3.50m)
13 개 할당으로 인해 권투에 대한 사람들의 3한다)뿐만 아니라 때문에. 읽기 가능한 버전은 성능 문제를 알고 있기 때문에
는 성능에 관해서 평소 비록, 당신은 일반적으로 단지 맹목적으로 모든 곳에서 읽을 코드를 작성하지 않아야합니다. 대신 읽을 수없는 효율적인 코드를 실제로 필요한 코드 부분으로 제한하십시오. 이러한 [관련 포스트]에 따르면
(http://stackoverflow.com/questions/31359360/does-c-sharp-6-0s-string-interpolation-rely-on-reflection?rq=1) 문자열 보간 컴파일시'string.Format()'으로 변환됩니다. [here] (http://stackoverflow.com/questions/37985012/which-of-one-from-string-interpolation-and-string-format-is-better-in-performanc?rq=1)도 참조하십시오. –