[C#공부] as와 is 연산자

2018. 1. 6. 16:14


# as연산자

객체를 캐스팅 할 때 사용되는 연산자이다. as연산자는 캐스팅에 성공하면 캐스트 결과를 리턴하고 캐스팅에 실패하면 null값을 리턴한다. 클래스간 타입변환을 명시적으로 할 때, 컴파일에서 에러가 발생하지 않지만 프로그램을 실행하면 'InvalidCastException'이 발생하는 경우가 있다. [C#문법] 캐스팅 및 타입 변환 에서 2-2) 클래스 타입간의 변환 참고.

이러한 경우 as연산자를 사용하여 캐스팅한다면 프로그램 실행을 거치지 않고도 캐스팅이 성공유무를 확인할 수 있다.

단, as연산자는 reference type간의 캐스팅에만 가능하다. (value type은 불가)


# is연산자

is연산자 역시 as연산자처럼 캐스팅 성공유무를 확인할 수 있는 연산자이다. 하지만 그 역할은 다르다. as연산자는 캐스팅 결과를 리턴하지만 is연산자는 캐스팅이 가능하면 true, 캐스팅이 불가능하면 false를 리턴한다. 따라서 단지 캐스팅 성공유무만 판단할 수 있다.


BELATED ARTICLES

more