C# 6.0은 이전 버전의 메이져 업그레이드가 아니라 사용자 편의성을 높일 자잘한 기능들이 추가되었는데 문자열 보간도 그 중 하나이다. 예를 들어서 문자열의 중간에 변수의 값을 넣고 싶다면 String.Format()함수를 이용하였다.


str = String.Format(“da is {0}.\r\n”, da);


또는 Console.Writeln함수에서도 이런 형식을 입력할 수 있다.


Console.Writeln(“da is {0}.\r\n”, da);


C# 6.0에서는 이것보다 더 간단한 표현식을 제공한다.


str = $“da is {da}.\r\n”;
Console.Writeln($“da is {da}.\r\n”);


위와 같이 문자열 앞에 $를 붙이면 문자열 내부의 {...}안에 변수가 바로 올 수 있다. 이것을 문자열 보간(string interpolation)이라고 하고 컴파일 시에 내부적으로 String.Format() 함수를 이용한 코드로 적절하게 해석이 된다. 이 새로운 문법이 보기에 훨씬 더 간결하다.


 이 방법으로 정렬과 표시 방법도 옵션으로 지정할 수 있다. 예를 들어서 이전에는 다음과 같이 코딩했던 것을

 

for (int ctr = 0; ctr < names.Length; ctr++)
{
 Console.WriteLine("{0,-20} {1,5:N1}", names[ctr], hours[ctr]);
}

유사하게 문자열 앞에 ‘$’를 붙이고 {...} 안에서는 번호(인덱스) 대신 변수명으로 대신하여 사용할 수 있다.


for (int ctr = 0; ctr < names.Length; ctr++)
{
  Console.WriteLine($"{names[ctr],-20} {hours[ctr],5:N1}");
}

여기에서 첫 번째 변수는 20칸 좌정렬이 되고 두 번째 변수는 5칸 우정렬에  N1형식으로 표시된다.



Posted by 살레시오
,