1.string.Format()
-지정된 형식에 따라 개체의 값을 문자열로 변환하는 string 메소드

-문자열과 인자가 분리되기 때문에 가독성이 떨어진다.
-프로그램 실행전까지 결과 예측을 알기가 힘들다.
-문자열에 나타낸 인자의 개수와 실제 전달되는 개수가 일치하는지 검사를 하지 않기에 오류가 발생하면 예외를 던진다.
2.보간 문자열
-C#6.0부터 나온 문자열을 더 간결하게 작성하는 방식.
-$기호를 앞에 붙이고 문자열에 붙일 변수를 {}(중괄호)를 붙이면 된다.
-변수가 중괄호에 닫힌 형태로 문자열과 같은 흐름에 있기에 가독성이 좋다.

-하지만 위 같은 메서드의 Math.PI는 double으로 값 타입이다.
object 타입변환 과정에서 박싱과 언박싱이 일어날기에 루프문 같은 곳에 쓰이면 악영향을 줄 수 있다.
-그러나 미리 사전에 전달할 인자를 변환하여 준다면 불필요한 박싱과 언박싱을 피할 수도 있다.

3.표현식을 사용하여 문자열 보간
-null 조건연산자 및null 병합 연산자

-조건표현식

*주의점: 위와 같은 경우 컴파일 오류가 나는데 ' : '를 사용함에 있어 소괄호를 사용하여 조건식임을
알려야 한다. 밑에 코드 참조.

3.결론
String.Format() 보다 보간 문자열을 사용하는 것이 훨씬 가독성이 좋다.
보간 문자열이 값 타입 변수를 박싱 및 언박싱 하는 것과 조건표현식을 사용할 때 주의점을 상기하자.
'C# > 이펙티브 C#' 카테고리의 다른 글
| 아이템7. 델리게이트를 이용하여 콜백을 표현하라. (0) | 2023.06.25 |
|---|---|
| 아이템6.nameof 연산자를 적극 활용하라. (0) | 2023.06.24 |
| 아이템5.문화권별로 다른 문자열을 생성하려면 FormattableString을 사용하라. (0) | 2023.06.23 |
| 아이템3. 캐스팅보다는 is,as가 좋다. (0) | 2023.06.18 |
| 아이템 1. 지역변수를 선언할 때는 var를 사용하는 것이 낫다. (0) | 2023.06.15 |