728x90
C#에서 is와 as 키워드는 타입 검사를 수행하고 타입 변환을 안전하게 처리하는 데 사용됩니다. 이 키워드들은 특히 상속 관계에 있는 객체를 다룰 때 유용합니다.
is 키워드
is 키워드는 객체가 특정 타입인지 확인할 때 사용됩니다. 객체가 해당 타입이거나 해당 타입에서 파생된 타입이면 true를 반환하고, 그렇지 않으면 false를 반환합니다. 또한, C# 7.0부터는 is 키워드를 사용하여 변환된 결과를 새로운 변수에 할당할 수도 있습니다.
class Base { }
class Derived : Base { }
class Program
{
static void Main()
{
Base b = new Derived();
if (b is Derived)
{
Console.WriteLine("b is of type Derived or a type derived from Derived");
}
else
{
Console.WriteLine("b is not of type Derived");
}
// C# 7.0부터 가능한 패턴 매칭
if (b is Derived d)
{
// d는 Derived 타입으로 캐스팅된 b입니다.
Console.WriteLine("b is of type Derived and is cast to d");
}
}
}
as 키워드
as 키워드는 객체를 특정 타입으로 변환하려고 시도합니다. 변환이 성공하면 변환된 객체를 반환하고, 실패하면 null을 반환합니다. as 키워드는 예외를 발생시키지 않기 때문에 예외 처리 코드가 필요하지 않습니다.
class Base { }
class Derived : Base { }
class Program
{
static void Main()
{
Base b = new Derived();
Derived d = b as Derived;
if (d != null)
{
Console.WriteLine("b was successfully cast to Derived");
}
else
{
Console.WriteLine("b is not of type Derived");
}
}
}
비교와 활용
- 타입 확인 및 조건부 실행: is 키워드는 객체가 특정 타입인지 확인하고, 그에 따라 조건부로 코드를 실행하고 싶을 때 유용합니다.
- 안전한 타입 변환: as 키워드는 객체를 특정 타입으로 변환하고, 변환 실패 시 null을 반환하여 예외 없이 처리하고자 할 때 사용됩니다.
728x90
'VisualStudio > C#' 카테고리의 다른 글
[C#] Func 람다식 Expression오류(cs0834) (0) | 2024.09.11 |
---|---|
[C#] AES128 암호화 (0) | 2024.05.07 |
[프로그래머스/C++] 조건에 맞게 수열 변환하기 2 (0) | 2024.03.07 |
[C#] 데이터베이스 종류 (0) | 2023.11.08 |
[C#] Google Protobuf형식 기반 ProtoBuff-net 사용 방법 (0) | 2023.11.02 |