is와 as 연산자

4189 단어 연산자
as 연산자는 일정한 적용 범위가 있습니다. 인용 형식이나null 형식에만 적용되며, 값 형식의 변환과 사용자 정의 형식의 변환은 강제 변환 표현식에 적용되어야 합니다.as가 변환되지 않을 때null로 되돌아갈 뿐입니다. as는 이상을 던지지 않습니다.
is 연산자는 변환을 제대로 실행하지 않습니다. 지정한 대상이 지정한 유형과 호환되는지 확인하는 것입니다. 말하자면 지정한 대상이 지정한 유형으로 변환될 수 있는지 확인하는 것입니다.
            Person p = new Person();
            p.Id = 1;
            p.Age = 23;
            p.Name = " ";
            object o = p;
            Person p1 = o as Person;
            Console.WriteLine(p1.Name);         //         o Person 


            Person p1 = new Person(1, 20, " ");
            Person p2 = new Person(2, 21, " ");
            Person p3 = new Person(3, 22, " ");
            List<Person> PersonList = new List<Person>();
            PersonList.Add(p1);
            PersonList.Add(p2);
            PersonList.Add(p3);
            object o = PersonList;
            List<Person> PersonList1 = o as List<Person>;
            Console.WriteLine(PersonList1[1].Name); //         o List 


            Person p4 = new Person(4, 24, " ");
            object o = p4;
            Console.WriteLine(p4 is Person);    //     True

            List<Person> PersonList = new List<Person>();
            object o1 = PersonList;
            Console.WriteLine(o1 is Person);    //     False
            Console.WriteLine(o1 is List<Person>);  //     True

좋은 웹페이지 즐겨찾기