객체에서 캐스팅 할 때 형변환이 가능하면 형변환을 수행하고, 그렇지 않으면 null 값을 return하는 연산자다.
명시적 형변환을 하는 과정에서 System.InvalidCastException오류를 뱉어낼 때가 있다.
예를 들어 부모 객체를 자식객체로 캐스팅 하려할 때라던지,
이럴 땐 컴파일러가 에러를 잡지 못하고 실제 프로그램을 실행해야 에러가 발생한다.
이럴때 유용하게 사용하는 연산자로
//parent가 부모클래스 children이 자식클래스일 때
c= parent as children
if(c !=null)
Method();
이런식으로 사용 할 수 있다.
is 연산자는 형변환이 가능한지를 bool형으로 return한다.
is연산자로 형변환이 가능한지 체크 후 바로 값을 할당 받을 수 있다.
object greeting = "Hello, World!";
if (greeting is string message)
{
Console.WriteLine(message.ToLower()); // output: hello, world!
}
이런식으로 object형의 greeting이 string으로 변환될 수 있는지 체크한다.
object형은 모든 자료형의 부모이므로 string형으로 형변환 후 messege변수에 넣어준다.