is操作符和as操作符

1、is操作符验证基础类型

  public static void Save(object data)
        {
            if(data is Person)
            {
                Person person = (Person)data;
                Console.WriteLine("名字是"+person.Name);
            }
            else if(data==null)
            {
                throw new ArgumentException(nameof(data));
            }
        }

上面代码验证了data的基础类型是否是Person,只有是才会打印名字。

2、使用is操作符进行模式匹配

执行检查,若结果为true就同时将结果赋给新变量

 public static void Save(object data)
        {
            if(data is Person person)
            {
                Console.WriteLine("名字是"+p.Name);
            }
            else if(data==null)
            {
                throw new ArgumentException(nameof(data));
            }
        }

3、使用as操作符进行转换

as操作符会尝试将对象转换为特定数据类型,若不能转换则会返回null。

  public static void Print(Chinese chinese)
        {
            Person p = chinese as Person;
            Console.WriteLine(p.Name);
        }
原文地址:https://www.cnblogs.com/TheLin/p/14482654.html