수색…


통사론

  • $ "content {expression} 콘텐츠"
  • $ "content {expression : format} content"
  • $ "content {expression} {{중괄호로 묶는 콘텐츠}} content}" "
  • $ "content {expression : format} {{중괄호에있는 내용}} content}" "

비고

문자열 보간은 string.Format() 메서드의 줄임말로, 변수 및 표현식 값이 포함 된 문자열을 그 안에 쉽게 만들 수 있습니다.

var name = "World";
var oldWay = string.Format("Hello, {0}!", name);  // returns "Hello, World"
var newWay = $"Hello, {name}!";                   // returns "Hello, World"

표현식

전체 표현식은 보간 된 문자열에서도 사용할 수 있습니다.

var StrWithMathExpression = $"1 + 2 = {1 + 2}"; // -> "1 + 2 = 3"

string world = "world";
var StrWithFunctionCall = $"Hello, {world.ToUpper()}!"; // -> "Hello, WORLD!"

.NET Fiddle에서의 라이브 데모

문자열에서 날짜 서식 지정

var date = new DateTime(2015, 11, 11);
var str = $"It's {date:MMMM d, yyyy}, make a wish!";
System.Console.WriteLine(str);

DateTime.ToString 메서드를 사용하여 DateTime 개체의 DateTime 을 지정할 수도 있습니다. 이것은 위의 코드와 동일한 출력을 생성합니다.

var date = new DateTime(2015, 11, 11);
var str = date.ToString("MMMM d, yyyy");
str = "It's " + str + ", make a wish!";
Console.WriteLine(str);

산출:

2015 년 11 월 11 일, 소원을 빌어주세요!

.NET Fiddle에서의 라이브 데모

DateTime.ToString을 사용한 라이브 데모

참고 : MM 은 월을, mm 은 분을 나타냅니다. 실수로 발견하기 어려울 수있는 버그를 유발할 수 있으므로 사용시 매우주의하십시오.

간단한 사용법

var name = "World";
var str = $"Hello, {name}!";
//str now contains: "Hello, World!";

무대 뒤에서

내부적으로

$"Hello, {name}!" 

다음과 같이 컴파일됩니다.

string.Format("Hello, {0}!", name);

출력 채우기

문자열은 삽입 된 문자열이 사용할 문자 위치의 수를 지정하는 패딩 매개 변수를 허용하도록 형식을 지정할 수 있습니다.

${value, padding}

참고 : 양수 패딩 값은 왼쪽 패딩을 나타내며 음수 패딩 값은 오른쪽 패딩을 나타냅니다.

왼쪽 패딩

5의 왼쪽 패딩 (숫자 값 앞에 3 개의 공백이 추가되므로 결과 문자열에서 총 5 개의 문자 위치를 차지합니다.)

var number = 42;
var str = $"The answer to life, the universe and everything is {number, 5}.";
//str is "The answer to life, the universe and everything is    42.";
//                                                           ^^^^^
System.Console.WriteLine(str);

산출:

The answer to life, the universe and everything is    42.

.NET Fiddle에서의 라이브 데모

오른쪽 패딩

음수 패딩 값을 사용하는 오른쪽 패딩은 현재 값의 끝에 공백을 추가합니다.

var number = 42;
var str = $"The answer to life, the universe and everything is ${number, -5}.";
//str is "The answer to life, the universe and everything is 42   .";
//                                                           ^^^^^
System.Console.WriteLine(str);

산출:

The answer to life, the universe and everything is 42   .

.NET Fiddle에서의 라이브 데모

형식 지정자로 채우기

패딩과 함께 기존 서식 지정자를 사용할 수도 있습니다.

var number = 42;
var str = $"The answer to life, the universe and everything is ${number, 5:f1}";
//str is "The answer to life, the universe and everything is 42.1 ";
//                                                           ^^^^^

.NET Fiddle에서의 라이브 데모

문자열의 숫자 서식 지정

콜론과 표준 숫자 형식 구문 을 사용하여 숫자 서식 지정 방법을 제어 할 수 있습니다.

var decimalValue = 120.5;

var asCurrency = $"It costs {decimalValue:C}";
// String value is "It costs $120.50" (depending on your local currency settings)

var withThreeDecimalPlaces = $"Exactly {decimalValue:F3}";
// String value is "Exactly 120.500"

var integerValue = 57;

var prefixedIfNecessary = $"{integerValue:D5}";
// String value is "00057"

.NET Fiddle에서의 라이브 데모



Modified text is an extract of the original Stack Overflow Documentation
아래 라이선스 CC BY-SA 3.0
와 제휴하지 않음 Stack Overflow