
Effective C# Itme3
String.Format
Console.WriteLine(String.Format("The value of pi is {0}", Math.PI);생성된 문자열을 직접 출력해보고 올바른 형태인지를 직접 확인하기 전까지는 코드를 제대로 작성했는지 확인이 어려움
- 포맷 문자열과 인자 리스트를 분리하여 전달
- 인자의 개수와 실제로 전달되는 인자의 개수의 일치를 확인하지 않음(런타임 에러)
보간 문자열
Console.WriteLine($"The value of pi is {Math.PI}");
- $을 문자열 앞에 붙여서 사용
- 문자열로 변경할 표현식은 {}내에 둔다
- 코드의 가독성이 좋아진다.
- 인자 전달에 오류가 없다.
박싱 언박싱
문자열 보간 기능을 사용하더라도 컴파일러는 param을 이용하여 object배열을 전달하는 코드를 생성한다.
Math.PI는 double이므로 object 타입으로 변경하려면 박싱을 수행해야 한다.
다음과 같이 사용하면 박싱을 회피할 수 있다.Console.WriteLine($"The value of pi is {Math.PI.ToString()}");