연습 - 문자열 보간을 사용하여 문자열 결합
문자열 연결은 간단하고 편리하지만 많은 리터럴 문자열과 변수를 하나의 서식이 지정된 메시지로 결합해야 하는 상황에서 문자열 보간 의 인기가 높아지고 있습니다.
문자열 보간이란?
문자열 보간은 "template" 및 하나 이상의 보간 식을 사용하여 여러 값을 단일 리터럴 문자열로 결합합니다.
보간 식은 중괄호 기호 { } 안에 넣어 표시합니다. 중괄호 안에 값을 반환하는 C# 식을 배치할 수 있습니다. 리터럴 문자열은 $ 문자가 접두사로 올 때 템플릿이 됩니다.
즉, 다음 코드 줄을 작성하는 대신 다음 코드를 작성합니다.
string message = greeting + " " + firstName + "!";
이 보다 간결한 코드 줄을 대신 작성할 수 있습니다.
string message = $"{greeting} {firstName}!";
이 간단한 예제에서는 몇 가지 키 입력을 저장합니다. 더 복잡한 작업에서 문자열 보간이 얼마나 더 간결하게 될 수 있는지를 상상할 수 있습니다. 또한 많은 사람들이 문자열 보간 구문을 더 깔끔하고 읽기 쉽게 찾을 수 있습니다.
다음 연습에서는 문자열 보간을 사용하여 이전 메시지를 다시 작성합니다.
문자열 보간을 사용하여 리터럴 문자열과 변수 값 결합
두 문자열을 함께 보간하려면 리터럴 문자열을 만들고 문자열 앞에 기호를 추가합니다 $ . 리터럴 문자열에는 하나 이상의 중괄호 세트({})가 포함되고 해당 문자 내부에서는 변수 이름을 사용합니다.
C# 코드 편집기에서 이전에 작성한 모든 코드를 선택하고 삭제 또는 백스페이스를 눌러 삭제합니다.
C# 코드 편집기에서 다음 코드를 입력합니다.
string firstName = "Bob"; string message = $"Hello {firstName}!"; Console.WriteLine(message);이제 코드를 실행합니다. 출력 콘솔에 다음과 같은 결과가 표시됩니다.
Hello Bob!
여러 변수와 리터럴 문자열에 문자열 보간 사용
동일한 코드 줄에서 여러 보간 작업을 수행할 수 있습니다.
C# 코드 편집기에서 이전에 작성한 모든 코드를 선택하고 삭제 또는 백스페이스를 눌러 삭제합니다.
C# 코드 편집기에서 다음 코드를 입력합니다.
int version = 11; string updateText = "Update to Windows"; string message = $"{updateText} {version}"; Console.WriteLine(message);이제 코드를 실행합니다. 출력 콘솔에 다음과 같은 결과가 표시됩니다.
Update to Windows 11
중간 변수 방지
이전 연습에서와 마찬가지로 메시지를 저장할 임시 변수를 제거할 수 있습니다.
이전에 작성한 코드를 다음과 같이 수정합니다.
int version = 11; string updateText = "Update to Windows"; Console.WriteLine($"{updateText} {version}!");이제 코드를 실행합니다. 코드를 간소화했더라도 출력 콘솔의 결과는 동일해야 합니다.
Update to Windows 11!
축자 리터럴 및 문자열 보간 결합
템플릿에서 'verbatim 리터럴'(정확한 문자 그대로의 데이터)을 사용해야 한다고 가정해 봅시다. 직접 리터럴 접두사 기호 @와 문자열 보간 $ 기호를 함께 사용할 수 있습니다.
이전 단계에서 코드를 삭제하고 C# 코드 편집기에 다음 코드를 입력합니다.
string projectName = "First-Project"; Console.WriteLine($@"C:\Output\{projectName}\Data");이제 코드를 실행하면 다음 결과가 표시됩니다.
C:\Output\First-Project\Data이 예제에서 기호를
$사용하면 중괄호 안의projectName변수를 참조할 수 있고 기호를@사용하면 이스케이프\되지 않은 문자를 사용할 수 있습니다.
요약
지금까지 문자열 보간에 대해 배운 내용은 다음과 같습니다.
- 문자열 보간은 경우에 따라 필요한 문자 수를 줄여 문자열 연결을 개선합니다.
- 문자열 보간과 축자 리터럴의 기호를 결합한 후 문자열 템플릿에 대한 접두사로 사용하여 두 항목을 결합할 수 있습니다.