이번에는 ASP 에서 Select Case 문에 대해서 알아보겠습니다.
If 문이 조건을 조사하여 참을 실행하는 구조라면 Select Case는 검사식을 한 번만 평가한 후 결과값과 같은 목록을 선택하는 구조입니다.
그러므로 많은 가능성 중 하나만 실행할 때 효과적입니다.
또한 Select Case는 분기점이 많을 때 필요하지만 If Then 문처럼 조건값이 범위일 경우에는 사용할 수 없으며, 하나의 값에 대해서만 반응합니다.
따라서 범위에 대한 조건을 따지려면 If Then 문장이나 Case 문을 사용합니다.
Select Case에서 범위를 지정하려면 3,4,5,6,7......하는 식으로 모두 나열해야 합니다.
아직 감이 잘 안오시죠? 아래 예제를 통해 보시면 이해가 가실겁니다.
------------------------------------------------------------------------------------------------------------
<%OPTION EXPLICIT%>
<html>
<body>
<h3>Select...Case 구문을 이용하여 페이지 제어하기<hr noshade></h3>
<%
Dim userLevel
userLevel = "member" 'userLevel 변수에 "member" 값을 넣음
Select Case userLevel
Case "admin" 'userLevel 값과 틀리므로 거짓
Response.Write "당신은 관리자 계정으로 로그인 하셨습니다."
Case "member" 'userLevel 값과 같으므로 참이 되어 아래에 실행이 됨
Response.Write "당신은 회원 계정으로 로그인 하셨습니다."
Case "guest" '위 Case에서 참이 나왔기때문에 여기는 묻지도 따지지도않고 패스
Response.Write "손님 반갑습니다."
End Select
%>
</body>
</html>
------------------------------------------------------------------------------------------------------------
위 코드를 실행을 하면 아래와 같은 결과가 나오게 됩니다.
코드를 살펴보니깐 느낌이 If문과 비슷한것 같죠?
그럼 If문만 사용하면 될텐데 왜 머리 복잡해지게 Select Case 같은걸 만들어놓은거야? 이런 생각이 드실만도 한데요
If 문과 Select Case 문의 가장 큰 차이점은 속도와 범위입니다.
우선 속도에 대해서 설명을 드릴께요.
위 예제코드 같이 간단한 코드는 If문과 Select Case 문의 속도차이는 거의 없다고 봐도 상관없습니다.
하지만 포털이라던가 대형홈페이지, 검색엔진등 속도가 생명인곳에서는 뚜렷하게 차이가 발생하게 됩니다.
왜 그렇냐면은 범위때문입니다.
If문은 조건을 비교하기때문에 조건 범위가 크고 일일이 참과 거짓을 구분하기때문에 시간이 오래 걸립니다.
반면 Select Case문은 값만 비교하기때문에 조건 범위가 작고 시간이 적게 걸리는거죠.
그렇다고 If문이 나쁘다는것이 아닙니다.
If문은 조건을 걸수있는 범위가 크기 때문에 보다 효율적으로 제어문을 사용할 수 있습니다.
조건문을 만들때 If문을 사용할지 Select Case문을 사용해야할지는 개발자가 판단해서 적절하게 사용하시면 됩니다.
제가 글솜씨가 없어서 좀 어려웠는지 모르겠는데요.
궁금하신점은 댓글 남겨주세요~^^
'IT 프로그래밍 > ASP' 카테고리의 다른 글
ASP For Each문 기초 설명 (0) | 2014.01.25 |
---|---|
ASP 반복문 FOR문 기초 설명 (0) | 2014.01.25 |
ASP 제어문인 IF문의 기초 설명 (0) | 2014.01.25 |
ASP 자료형 기초 설명 (0) | 2014.01.25 |
ASP 상수 기초 설명 (0) | 2014.01.25 |