본문으로 바로가기

[C#] C#에서 @를 사용할 때

category Program/C# 2019. 1. 22. 16:41
@ 심벌은 C# 키워드 앞에 붙여 일반 변수명으로 사용할 때 유용하게 활용된다. 아래 예제 3-1에서 보이듯이, object는 C# 키워드 이므로 string object = "객체" 와 같이 쓸 수 없다. 즉, 이렇게 하면 컴파일 에러가 발생할 것이다. 하지만 object C# 키워드 앞에 @ 사인을 붙이면 변수명으로 사용할 수 있다. 하지만, 이렇게 사용할 수 있다고 해서 굳이 변수명을 object로 사용하도록 권장하는 사람은 아무도 없다. 오히려 반대로 대부분 C# 키워드는 변수명으로 사용하지 말도록 권장한다.
그렇다면 이 기능은 왜 필요할까? 아래 예제 3-2를 살펴보자. 이는 ASP.NET MVC의 Html Helper의 예를 보여주는데, ActionLink 메서드의 4번째 파라미터를 보면, 익명타입 (Anonymous Type)의 객체를 생성한 후 Html Attribute와 관련된 속성들을 지정하고 있고 있다. 그런데 여기서 class는 C#의 키워드 이므로 변수명으로 사용할 수 없는데, 실제 Html 속성 class는 이미 표준에 의해 지정된 것이므로 @class와 같이 사용해야만 한다. 


예제

// 예제 3-1
public void Run()
{
    // object라는 변수명 지정
    string @object = "객체";

    @object = @object + "1";
    Console.WriteLine(@object);
}

// 예제 3-2: ASP.NET MVC Html Helper
@Html.ActionLink("Goto Menu", "Menu", null,
     new { @class="linkStyle", target="_blank"});


<A href="/Home/Menu" class="linkStyle" target="_blank">
   Goto Menu
</A>


출처 : http://www.csharpstudy.com/Tip/Tip-at-symbol.aspx

'Program > C#' 카테고리의 다른 글

[C#] MVC Model  (0) 2019.01.23
[C#] MVC Controller  (0) 2019.01.23
[C#] 진수 변환 (Base Converter)  (0) 2019.01.22
[C#] Trace를 이용한 로깅  (0) 2019.01.22
[C#] .NET Configuration 파일  (0) 2019.01.22