C# 에서는 두가지 방식으로 문자열을 표현하게 되는데 첫번쨰는 C 에서 처럼
escape sequencess (\t, tab) 문법을 적용할수 있는 방법과 두번째는 문자열 그대로 표현하는
방법이다. 두번째 방법으로 C# 에서는 문자열 앞에 @ 표시를 함으로써 손쉽게 사용할수있다.
아래 예제는 두가지 방법을 모두 포함한 문자열 표현 방법에 대한 예제이다.
클래스 레벨에서의 static, const 데이터에 대한 문자열표현과 함수레벨에서의 문자열 표현을
보여주고 있다. 그리고 escape sequencess 는 다음라인 , tabs, 인용부호를 넣어서 적용되었는지
아닌지에 대한 여부를 출력해서 보여준다.
class Program { static string _value1 = "String literal"; const string _value2 = "String literal 2"; const string _value3 = "String literal 3\r\nAnother line"; const string _value4 = @"String literal 4 Another line"; const string _value5 = "String literal\ttab"; const string _value6 = @"String literal\ttab"; static void Main() { // Execution engine begins here. string test1 = "String literal \"1\""; const string test2 = "String literal 2"; string test3 = @"String literal ""3"""; const string test4 = @"String literal 4"; // Print out the string literals from the program text. Console.WriteLine("{0}\n{1}\n{2}\n{3}\n{4}\n{5}\n{6}\n{7}\n{8}\n{9}", _value1, _value2, _value3, _value4, _value5, _value6, test1, test2, test3, test4); } }
========== Output ==========
String literal
String literal 2
String literal 3
Another line
String literal 4
Another line
String literal tab
String literal\ttab (The tab escape sequence was not recognized)
String literal "1" (Uses quote escaping \")
String literal 2
String literal "3" (Uses double quote escaping "")
String literal 4
“ 따움표를 표현하는 방법에서 test1 과 test3 를 비교해 보면 @ 을 써서 문자열 표현하는것에
대한 내용을 쉽게 이해할수 있을것이다. 정규식에서도 @ 를 많이 사용하는데
컴파일러가 Literal String 을 해석할 때 Escape(\) 문자를 한번 처리하지만
정규식 엔진에 문자열을 보낼 때 escape 문자 처리가 한번 더 되므로 @ 을 사용하지 않으면
'기타 언어 > C# & MFC' 카테고리의 다른 글
C# 리소스 관리하기 (2) | 2009.09.16 |
---|---|
ListView 에서 행간간격을 조절하여 가독성을 높여보자 (0) | 2009.09.12 |
에러 - Unable to find manifest signing certificate in the certificate store (1) | 2009.09.10 |
C# using 사용법 (0) | 2009.09.04 |
C# 을 이용해 Windows Event Log 쓰기 (0) | 2009.09.01 |
C# 데이타 베이스 처리를 위한 클래스 - Access DB (0) | 2009.08.31 |
C# 문자열 날짜형식 포맷팅 (0) | 2009.08.31 |
C# 문자열 숫자형식 포맷팅 (0) | 2009.08.31 |