[C# 6.0] 문자열 보간(String interpolation)
728x90
반응형
C# 6.0에서 문자열 보간(String interpolation)이라는 기능이 추가되었다.
$ 특수문자는 문자열 리터럴을 보관된 문자열로 식별하는데, 보간 된 문자열이란 보간 식이 포함될 수 있는 문자열 리터럴이다.
기존 String.Format()과 기능은 동일 하지만 더 읽기 쉽고 편리하게 출력 서식을 지정할 수 있다고 한다.
기본적으로 사용은 문자열 앞에 $기호를 추가하면 된다.
$"오늘은 {month}월 {day}일이야."
보간 된 문자열의 구조
보간 된 문자열의 구조는 다음과 같다.
{<interpolationExpression>[,<alignment>][:<formatString>]}
대괄호 안의 요소는 선택사항으로, 각 요소들이 의미하는 바는 아래 표와 같다.
요소 | 설명 |
interpolationExpression | 서식을 지정할 결과를 생성하는 식. null의 문자열 표현은 String.Empty |
alignment | 식 결과의 문자열 표현에 최소 문자수를 정의하는 값을 갖는 상수 식 양수: 문자열 표현 오른쪽 음수: 문자열 표현 왼쪽 |
formatString | 식 결과의 형식을 기준으로 지원되는 서식 문자열. 서식 문자열 구성요소 참고 |
예시:
Console.WriteLine($"|{"왼쪽",-7}|{"오른쪽",7}|");
const int FieldWidthRightAligned = 20;
Console.WriteLine($"{Math.PI,FieldWidthRightAligned} - 원주율의 기본 형식");
Console.WriteLine($"{Math.PI,FieldWidthRightAligned:F3} - 원주율을 소수점 셋째자리까지 나타내기");
결과:
|왼쪽 | 오른쪽|
3.14159265358979 - 원주율의 기본 형식
3.142 - 원주율을 소수점 셋째자리까지 나타내기
특수문자
보간 된 문자열에서 중괄호를 사용하고 싶다면 중괄호를 연달아 쓰면 된다.
예시:
int age = 34;
Console.WriteLine($"public int {age}");
Console.WriteLine($"public int {{age}}");
결과:
line 2: public int 34
line 3: public int age
그리고 조건부 삼항 연산자(?:)도 사용할 수 있는데, 보간 된 문자열의 구조에서 콜론(:)이 특별한 의미를 가지고 있어서 조건식을 괄호로 묶어 사용해야 한다.
예시:
int age = 34;
Console.WriteLine($"public int {(age >= 30 ? "30대":"30대 아님")}");
결과:
30대
참고 사이트
https://docs.microsoft.com/ko-kr/dotnet/csharp/language-reference/tokens/interpolated
728x90
반응형
'Programming > C#' 카테고리의 다른 글
[C#] .NET Framework에 대응하는 C# 버전 (0) | 2021.06.02 |
---|---|
[C# 8.0] 널 병합 할당자 (0) | 2020.08.27 |
[C# 6.0] 널 조건 연산자 (Null-conditional operator) (0) | 2020.08.27 |
[C#] String.Format 표준 숫자 서식 문자열 (0) | 2020.06.20 |
댓글
이 글 공유하기
다른 글
-
[C#] .NET Framework에 대응하는 C# 버전
[C#] .NET Framework에 대응하는 C# 버전
2021.06.02 -
[C# 8.0] 널 병합 할당자
[C# 8.0] 널 병합 할당자
2020.08.27 -
[C# 6.0] 널 조건 연산자 (Null-conditional operator)
[C# 6.0] 널 조건 연산자 (Null-conditional operator)
2020.08.27 -
[C#] String.Format 표준 숫자 서식 문자열
[C#] String.Format 표준 숫자 서식 문자열
2020.06.20