안녕하세요. 명월입니다.
이 글은 C#에서 String 보간법(interpolation)에 대한 글입니다.
저도 코딩 표준을 정리하면서 알게된 String 보간법인데 꽤 편리한 기능이 많이 있는 것 같아서 조사해 봤습니다.
링크 - https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/tokens/interpolated
먼저 String 보간법은 String내에 보간 표현식을 작성한 것은 그 값으로 대체되는 방식인그 그 값은 $의 기호로 구분됩니다.
string name = "명월 일지";
var date = DateTime.Now;
// 일반적인 String.format입니다.
Console.WriteLine("{0}! 오늘은 {1}입니다., 현재 시간은 {2:HH:mm}입니다.", name, date.DayOfWeek, date);
// String 보간법(interpolation)
Console.WriteLine($"{name}! 오늘은 {date.DayOfWeek}입니다., 현재 시간은 {date:HH:mm}입니다.");
String의 보간 표현식은 다음과 같습니다.
{<interpolationExpression>[,<alignment>][:<formatString>]}
요소 | 기술 |
---|---|
interpolationExpression | 형식화 할 결과를 생성하는 표현식입니다. null 결과의 캐릭터 라인 표현은 String.Empty 입니다. |
alignment | 보간 표현식 결과의 문자열 표현에서 최소 문자 수를 정의하는 상수 표현식입니다. 양수이면 문자열 표현이 오른쪽 정렬됩니다. 음수이면 왼쪽 정렬입니다. |
formatString | 표현식 결과 유형에 의해 지원되는 형식 문자열. |
Console.WriteLine($"|{"Left",-7}|{"Right",7}|");
const int FieldWidthRightAligned = 20;
Console.WriteLine($"{Math.PI,FieldWidthRightAligned} - PI 값");
Console.WriteLine($"{Math.PI,FieldWidthRightAligned:F3} - 세 자리수 까지 표현한다.");
보간법은 간단한 삼항식으로도 계산이 가능합니다.
int data = 0;
Console.WriteLine($"{(data == 0 ? "Zero" : "Number")}");
만약 String식에서 중괄홀르 사용할 일이 있으면 연달아 사용하면 됩니다.
String data = "중괄호";
Console.WriteLine($"{{{data}}}");
여기까지 C# String 보간법에 대한 설명였습니다.
궁금한 점이나 잘못된 점이 있으면 댓글 부탁드립니다.
'Development note > C#' 카테고리의 다른 글
[C#] 날짜 포맷 (2) | 2019.08.06 |
---|---|
[C#] 숫자 포맷 (돈 표시 및 소수점 이하 표시) (0) | 2019.08.05 |
[C#] XML를 XPath를 이용해서 다루는 방법 (0) | 2019.08.02 |
[C#] Reflection를 이용한 클래스 복제 (0) | 2019.07.12 |
[C#] 직렬화 (Serialization) (0) | 2019.06.27 |
[C#] ini 환경 설정 파일을 다루는 방법 (0) | 2019.06.26 |
[C#] 환경설정 파일을 다루는 방법(System.Configuration) (0) | 2019.06.26 |
[C#] Compare 함수의 결과 (0) | 2019.06.24 |