C# 특수 문자인 $ 문자를 사용하여 문자열 보간(Interpolation) 방법(문자열 연결)

C#에서 특수 문자로 사용되는 것 중에 ‘$‘ 문자가 있습니다.

$ 문자는 C#에서 문자열 리터럴을 보간(Interpolation)된 문자열로 식별할 때 사용합니다.

보간(Interpolation)이라는 단어가 조금 생소하게 느껴지는데 보간법은 수학 분야에서 많이 사용되는 용어이며 내삽(內揷, interpolation)이라고 불리기도 합니다.

C#에서의 보간은 개체의 값을 문자열로 변환하여 다른 문자열에 삽입 하는 것이라고 이해하면 쉽습니다.

즉, string.Format 메서드의 역할과 비슷하게 기능을 수행한다고 생각하면 됩니다.

이번 글에서는 C# 특수 문자인 $ 문자를 사용하여 문자열 보간(Interpolation) 방법을 몇 가지 비슷한 예제를 통해 설명해 보겠습니다.

C# 특수 문자인 $ 문자를 사용하여 문자열 보간(Interpolation) 방법

C#에서 특수 문자 $를 사용한 문자열 보간

▼ 아래 C# 예제는 일반적으로 많이 사용하는 개체의 값을 문자열로 변환하여 다른 문자열에 삽입 또는 연결할 때 사용하는 방식입니다.

var name = “홍길동”;
var age = 21;
var date = DateTime.Now;
 
//문자열 연결연사자(+) 사용
MessageBox.Show(“이름은 “ + name + “, 나이는 “ + age + “, 현재날짜는 “ + date.ToString(“yyyy-MM-dd”));
 
//String.Format 사용
MessageBox.Show(string.Format(“이름은 {0}, 나이는 {1}, 현재날짜는 {2}”, name, age, date.ToString(“yyyy-MM-dd”)));
 
//특수문자 ‘$’를 사용하여 문자열 보간
MessageBox.Show($“이름은 {name}, 나이는 {age}, 현재날짜는 {date:yyyy-MM-dd}”);
 
//특수문자 ‘$’를 사용하여 문자열 보간 – 조건식 추가
MessageBox.Show($“이름은 {name}, 나이는 {age}, {(age > 20 ? “(성년)” : “(미성년)“)}, 현재날짜는 {date:yyyy-MM-dd}”);
 

▼ 위의 예제를 실행했을 때 메시지 박스 결과입니다.

C# 특수 문자인 $ 문자를 사용하여 문자열 보간(Interpolation) 방법 1


1. 가장 흔하게 사용하는 방법으로 문자열 연결 연산자인 “+” 기호를 사용하여 문자열과 개체의 문자열을 서로 연결하는 방법입니다.

  • var result = “이름은 ” + name + “, 나이는 ” + age + “, 현재날짜는 ” + date.ToString(“yyyy-MM-dd”);
  • 문자열 순서대로 쭉 나열하면서 필요한 위치에 바로 개체의 문자열 값을 삽입해서 전체 문자열을 만드는 방식입니다.
  • 삽입해야 할 개체가 많은 경우 반복되는 “+” 연결 연산자로 인해 문자열의 해석이 어려워지는 문제점이 있습니다.


2. string.Format 메서드를 사용하여 개체의 값을 문자열로 변환하여 다른 문자열에 삽입하는 방법입니다.

  • var result = string.Format(“이름은 {0}, 나이는 {1}, 현재날짜는 {2}”, name, age, date.ToString(“yyyy-MM-dd”));
  • 복합 형식 문자열에 서식을 지정할 개체를 순서대로 나열해서 전체 문자열을 만드는 방식입니다.
  • 문자열 연결 연산자(+)를 사용하는 것 보다 직관적인 복합 형식 문자열을 지정할 수 있습니다.
  • 복합 형식 문자열의 지정된 순서와 나열된 개체의 순서 및 개수가 맞지 않은 경우 잘못된 문자열이 만들어지거나 오류가 발생합니다.

3. C#에서 문자열 보간 특수 문자인 $ 문자를 사용하여 개체의 값을 문자열로 변환하여 다른 문자열에 삽입하는 방법입니다.

  • var result1 = $”이름은 {name}, 나이는 {age}, 현재날짜는 {date:yyyy-MM-dd}”;
  • var result2 = $”이름은 {name}, 나이는 {age}, {(age > 20 ? “(성년)” : “(미성년)”)}, 현재날짜는 {date:yyyy-MM-dd}”;
  • 문자열 보간을 위한 특수 문자 $를 사용해서 전체 문자열을 만드는 방법입니다.
  • 굉장히 직관적이고, 구현하기가 쉽습니다.
  • 조건부 연산자를 사용하여 좀 더 확장된 기능의 문자열 삽입이 가능합니다.

▼ 문자열 보간 특수 문자 $를 사용할 때 조건부 연산자를 추가한 결과 화면입니다.

  • 조건부 연산자에서 나이(age) 개체의 값이 20을 초과하면 ‘(성년)’, 그렇지 않을 경우 ‘(미성년)’을 추가로 문자열에 삽입하고 있습니다.
C# 특수 문자인 $ 문자를 사용하여 문자열 보간(Interpolation) 방법 2

C# 문자열 보간 $ 문자 사용 예제 더 알아보기

▶ 보간 된 문자열에 연산 결과를 바로 삽입할 수 있습니다.

  • var result1 = $”나이는 {age}, 만나이는 {age – 1}
  • 결과 result1 = “나이는 21, 만나이는 20
  • ▼ var a = 5m; var b = 3m; 일 때
  • var result2 = $”a / b = {a / b:F2}”;
  • 결과 result2 = “a / b = 1.67(F2:소수점 2자리)

▶ 보간 된 문자열에 중괄호(“{“,”}”)를 포함하려면 이중 중괄호(“{{“, “}}”를 사용합니다.

  • var result = $”나이는 {{age}}, 만나이는 {age – 1}”
  • 결과 result = “나이는 {21}, 만나이는 20

마무리

C#에서 특수 문자인 $ 문자는 개체의 값을 다른 문자열에 삽입할 때 무척 편리하게 사용할 수 있습니다.

그동안 문자열 연결 연산자인 “+” 문자를 사용했거나 string.Format 메서드를 많이 사용했다면 지금부터 특수 문자인 $ 문자를 사용하여 문자열 보간을 처리해 보시기 바랍니다.





이 글이 도움이 되었기를 바랍니다. ^-^


답글 남기기