as, is - 타입 변환과 타입 확인 키워드
C#에서 as
와 is
연산자는 객체의 타입을 안전하게 처리하기 위해 중요한 역할을 합니다.
이러한 연산자들은 형 변환과 타입 확인 과정을 간소화하여 코드의 안정성과 가독성을 향상시키는 데 도움을 줍니다.
is 키워드
is
키워드는 객체가 특정 타입인지 확인하는 데 사용됩니다.
이 연산자는 객체의 타입이 지정된 타입과 호환되는지 검사하고, 그 결과로 true
또는 false
를 반환합니다.
1
2
3
4
5
6
7
8
9
10
object obj = "Hello, World!";
if (obj is string)
{
Console.WriteLine("obj는 string 타입입니다.");
}
else
{
Console.WriteLine("obj는 string 타입이 아닙니다.");
}
위 예제에서, obj is string
조건은 obj
가 string
타입인지 검사합니다. obj
가 string
타입이면 true
를 반환하고, 그렇지 않으면 false
를 반환합니다.
변수 선언과 함께 사용
is
키워드는 변수 선언과 함께 사용할 수도 있습니다. 이 방법은 타입 확인과 동시에 변수에 값을 할당할 수 있게 해줍니다.
1
2
3
4
5
6
7
8
9
10
object obj = "Hello, World!";
if (obj is string str)
{
Console.WriteLine($"obj는 string 타입이며 값은: {str}");
}
else
{
Console.WriteLine("obj는 string 타입이 아닙니다.");
}
여기서 obj is string str
는 obj
가 string
타입인 경우 str
변수에 obj
의 값을 할당하고, true
를 반환합니다.
as 키워드
as
키워드는 객체를 지정된 타입으로 변환하려고 시도합니다.
변환이 성공하면 변환된 객체를 반환하고, 실패하면 null
을 반환합니다.
as
는 참조 타입과 Nullable 타입 변환에만 사용할 수 있습니다.
1
2
3
4
5
6
7
8
9
10
11
object obj = "Hello, World!";
string str = obj as string;
if (str != null)
{
Console.WriteLine($"변환 성공: {str}");
}
else
{
Console.WriteLine("변환 실패");
}
위 예제에서, obj as string
은 obj
가 string
타입으로 변환 가능한 경우 str
에 할당합니다. 변환이 불가능하면 str
은 null
이 됩니다.
요약
is
는 타입을 확인하고, 결과를true
또는false
로 반환합니다.as
는 타입을 변환 시도하고, 성공하면 변환된 객체를 반환하며, 실패하면null
을 반환합니다.is
를 사용하면 변환 전 타입을 확인할 수 있고,as
는 직접 변환을 시도합니다.as
는 참조 타입 및 Nullable 타입에만 사용할 수 있습니다.
이 기사는 저작권자의 CC BY-NC-ND 4.0 라이센스를 따릅니다.