首页 > 编程 > C# > 正文

C#中is与As运算符号的使用详解

2020-01-24 03:13:23
字体:
来源:转载
供稿:网友
如下所示:
复制代码 代码如下:

using System;
using System.Collections.Generic;
using System.Text;
namespace ConsoleApplication1
{
    class IsOrAsClass
    {
        class Animal
        {
            public void Eat()
            {
                Console.WriteLine("Eating...");
            }
            public override string ToString()
            {
               return  "I am Eating";
            }
        }
        //家禽类
        class jia:Animal
        {

        }
        //狗
        class Dog : jia
        {

        }
        //鸟
        class bird
        {

        }
        static void Main()
        {
           IsOrAsClass app=new IsOrAsClass();
           //
           Dog d=new Dog();
           app.UseIsOpreate(d);
           app.UseAsOpreate(d);
           //
           bird b = new bird();
           app.UseAsOpreate(b);

        }
        //使用Is运算符
        void UseIsOpreate(Animal a)
        {
            if (a is jia)
            {
                jia j = (jia)a;
                j.Eat();
            }
        }
        //使用AS运算符
        void UseAsOpreate(object o)
        {
            jia j = o as jia;
            if (j != null)
            {
                Console.WriteLine(j.ToString());
            }
            else
            {
                Console.WriteLine("{0} is not Animal", o.GetType().Name);
            }
        }
    }
}
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表