블로그 이미지
likeban

calendar

1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31        

Notice




C#으로 구성된 코드를 보면

int a = 10;
double b = 20;

b = a as double;

종종 요런 구성을 볼 수 있다.

C#에서 as강제형변환을 해주는 연산자이다.

강제형변환이라하면 그냥 (double)a; 라고 하면 되지 굳이 as 연산자를 사용할 필요가 있을성싶다.
보통 형변환이라고 하면 낮은형에서 높은형으로 변환하는 것을 말한다.(ex: int->double)
강제형변환이라고 하는 것은 높은형에서 낮은형으로 변환하거나 에러가 날 수 있는 형변환을 말한다.(ex:double->int , int->string)

일반적인 형식으로 강제형변환을 하게 되면 예외가 발생하게 된다.
하지만, as 연산자를 사용하게 되면, 불가능한 형변환(문제가 제기될 수 있는)시 예외가 발생하는 것이 아니라.
Null값이 대입된다.

ex)
obj ob1 = 1234;
string str;

str = ob1 as string;

// 불가능한 형변환이므로 이 때에 str의 값은 NULL로써 값을 출력해도 아무것도 출력되지 않는다.
저작자 표시 비영리 변경 금지
신고

'봉자의 > 잡다구리 사전' 카테고리의 다른 글

[PC용어] IPC  (0) 2011.07.04
[통신] ETX  (0) 2011.06.28
[통신] STX  (0) 2011.06.28
[C#] Var  (0) 2011.06.28
[C#] as  (1) 2011.06.28
주혈흡충병  (0) 2011.06.12
posted by likeban

티스토리 툴바