본문 바로가기
개발/C#

as, is 연산자

by EPdev 2020. 7. 21.
728x90

as 와 is 연산자는 무엇일까?

간단하게 말하자면 형변환과 관련되어 있다.


1. as

오류를 발생시키지 않고 형변환이 가능한지 확인할 수 있다. 형변환이 된다고 하면, 해당 인스턴스를 반환하고 불가능하면 null 을 반환한다.

Unit unit = new Unit();
Warrior warrior = unit as Warrior;
// 형변환이 가능하면 warrior는 Warrior 인스턴스를 가지고, 불가능하면 null을 가진다.

단, 참조 형식끼리만 사용가능하다. (int 같은 값 형식과는 사용이 안됨.)

 

2. is

as가 형변환하고 인스턴스 또는 null을 반환하는 반면, is는 bool형의 true/false를 반환한다. 또, 다른 특징은 as와는 달리 값 형식에서도 사용할 수 있다.


둘을 사용하는 기준

형 변환 후 인스턴스가 필요하면 as를 사용하고

단순 가능여부만 필요하면 is를 사용하면 될 것이다.

728x90

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

C# 과제  (0) 2020.07.21
Lambda Expression - 람다식  (0) 2020.07.21
List - 리스트  (0) 2020.07.14
값형식과 참조형식  (0) 2020.07.13
Stack and Heap  (0) 2020.07.13

댓글