본문 바로가기

Dev Diary

[C#]#region은 무엇인가?

1. #region은?


#region을 사용하면 #endregion으로 지시문을 종료해야 합니다. Visual Studio에서 #region에서 바로 다음으로 나오는 #endregion까지의 코드를 확대, 축소하며 작업을 할 수 있습니다. 


아래의 그림 1이 위 설명을 코드로 나타낸 것 입니다. 

[그림 1]


[그림 2]


2. 왜 #region이 필요할까요?

1) 서로 관련된 method, properties, fields 등등 그룹을 지을 수 있습니다. 

2) 긴 코드 블록들을 작은 블록으로 만들 수 있습니다. 개발자는 코드를 보고 싶을때 코드 왼쪽 편의 '+'를 선택하여 확대할 수 있고, 그곳에서의 작업이 끝났을 경우 '-'를 선택하여 닫아 두어 최대한 현재의 작업에만 집중할 수 있습니다. 

[그림 3 - 코드를 접었을때의 모습]


[그림 4 - 코드를 펼쳤을 때의 모습]


3. 단축키와 Context 메뉴

    • CTRL + M + M - 커서가 위치한 #region 영역을 최대화 또는 최소화할 수 있습니다.
    • CTRL + M + L - 해당 .cs 파일의 전체 region을 최대화 또는 최소화할 수 있습니다. (여러 개의 region을 만들어 테스트해 보세요.)
    • CTRL + M + O - 해당 .cs 파일의 전체 region을 최소화할 수 있습니다.
  • 개발자는 Visual studio의 Context 메뉴에서도 같은 기능을 사용할 수 있습니다.

[그림 5]


4. #region을 쓰면 안될 때..

  • 짜임새 있게 짜여지지 못한 코드의 경우 region으로 더 복잡해 질 수 있습니다.

5. 포스트를 마치며..


이 포스트는 저의 개인적인 #region 사용에 관한 견해에 대해 끄적여보았습니다. 이외에도 개발자마다 다른 용도로 #region을 사용하고 있을 수 있습니다. 제가 적은 내용 외의 다른 의견이라던지 제가 잘못 알고 있는 부분이 있다면 지적 부탁드립니다.


[추가]

Just say No! to C# Regions ☜ 다음 링크에서는 외국인 블로거가 region을 쓰면 안되는 이유에 대해 포스팅했네요.