2016년 3월 2일 수요일

[C# 프로그래밍] 문자열 앞에 @를 사용하는 이유

가끔 @를 사용하여 문자열을 표기하는 경우를 종종 볼 수 있다.

이는 문자열을 Escape문자 포함하여 있는 그대로

표현하고자 할때 사용한다.

크게 세가지 경우에서 다음을 사용합니다.

* 경로를 표현하고자 할때

[바른 표현]
string str="c:\Program files\test\";

[틀린 표현]
string str="c:\\Program files\\test\\";

@를 사용하면 다음과 같이 표현해도 됩니다.
string str=@"c:\Program files\test\";


* 정규표현식에서 

[ 일반적인 정규표현식에서 @를 사용하여 ]
Regex reg=new Regex(@"^\{\d{3}\) \d{3}-\d{4}$");

[@를 사용하지 않으면 다음과 같이 표현해야하는 불편함이 있겠죠]
Regex reg=new Regex("^\\{\\d{3}\\) \\d{3}-\\d{4}$");


* 다른 프로그램과의 통신을 위해 키워드를 변수로 사용해야하는 경우

일반적으로 c#에서는 class, readonly 등의 키워드는 변수로 사용할 수 없습니다.

그런데 이를 변수로 꼭 사용해야할 경우가 있을 경우

string @class="값";
string @readonly="값";

위와 같이 변수로 사용할 수 있습니다. 사용시 @는 실제 명칭의 일부로 취급되지 않기 때문에 이를 사용할 때는 class, readonly로 바로 사용할 수도 있습니다.





댓글 없음:

댓글 쓰기