[C# 문법] C# as 연산자

안녕하세요.

 

오늘은 C# 기본 문법에서 as 연산자에 대해서 알아보려고 합니다.

 

C# 에서 as 연산자는 보통 캐스팅을 할 때 사용되는 문법입니다.

 

as 연산자의 경우에는 하향캐스팅을 수행하고, 만약 as 연산자를 이용해서 하향캐스팅을 했을 때 실패했을 경우에는 null로 평가가 됩니다.

 

또한, as 연산자의 특징이라면 참조 타입간의 캐스팅만 가능하고, 값 형식의 타입끼리의 형변환은 불가하다는 점 알고 계시면 좋겠습니다.

 

그럼 예제 코드를 통해서 어떻게 as 연산자를 이용하여 캐스팅 하는지 보여 드리도록 하겠습니다.

 

예제 코드
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
using System;
using System.Collections.Generic;
 
namespace polyTest
{
    class Program
    {
        class Human
        {
            public void HumanPrint()
            {
                Console.WriteLine("Human 캐스팅 성공");
            }
        }
 
        class Student : Human
        {
            public void Print()
            {
                Console.WriteLine("Student 캐스팅 성공");
            }
        }
 
        static void Main(string[] args)
        {
            Human human = new Human();
            Student stu = new Student();
            Student stu2 = new Student();
 
            stu = human as Student;
            human = stu2 as Student;
 
            if (stu != null//stu가 Null 아니라면 캐스팅 성공
            {
                stu.Print();
            }
            else
            {
                Console.WriteLine("캐스팅 실패");
            }
 
            if (human != null//stu가 Null 아니라면 캐스팅 성공
            {
                human.HumanPrint();
            }
            else
            {
                Console.WriteLine("캐스팅 실패");
            }
        }
    }
}
 
cs

 

실행 결과

 

위와 같이 캐스팅을 실패하면 null 값을 저장하고, 그게 아니라면 성공적으로 캐스팅 된 것으로 as 연산자를 이용하여 쉽게 체크할 수 있습니다.

 

감사합니다.^^

728x90

이 글을 공유하기

댓글

Designed by JB FACTORY