포스트

as, is - 타입 변환과 타입 확인 키워드

C#에서 asis 연산자는 객체의 타입을 안전하게 처리하기 위해 중요한 역할을 합니다.

이러한 연산자들은 형 변환타입 확인 과정을 간소화하여 코드의 안정성과 가독성을 향상시키는 데 도움을 줍니다.

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 조건은 objstring 타입인지 검사합니다. objstring 타입이면 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 strobjstring 타입인 경우 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 stringobjstring 타입으로 변환 가능한 경우 str에 할당합니다. 변환이 불가능하면 strnull이 됩니다.

요약

  • is는 타입을 확인하고, 결과를 true 또는 false로 반환합니다.
  • as는 타입을 변환 시도하고, 성공하면 변환된 객체를 반환하며, 실패하면 null을 반환합니다.
  • is를 사용하면 변환 전 타입을 확인할 수 있고, as는 직접 변환을 시도합니다.
  • as참조 타입Nullable 타입에만 사용할 수 있습니다.
이 기사는 저작권자의 CC BY-NC-ND 4.0 라이센스를 따릅니다.