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 |
댓글