프로그래밍/C#

as, is 연산자

beautifulhill 2020. 3. 20. 17:43

오류를 발생시키지 않고 형변환 할 수 있는 방법

as

   형변환 결과값 반환 

   참조형 변수만 사용가능

 

is

   형변환 가능성 반환

   값 형식도 사용가능

namespace Example
{
    class Program
    {
        static void Main(string [] args)
        {
            int n = 1;
            if(n is string)
            {
                Console.WriteLine("int to string 가능");
            }
            Parent parent = new Parent();
            Children children = new Children();
            if(children is Parent)
            {
            	/*as없이도 parent = children 가능 children = parent 불가능*/
            	children = parent as Children;
                Console.WriteLine("children to Parent 가능");
            }
            if (parent is Children)
            {
                Console.WriteLine("Parent to Children 가능");
            }

        }
    }
    class Parent{ }
    class Children : Parent { }
}