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

 更新时间:2013年06月09日 10:03:41   作者:  
本篇文章是对C#中is与As运算符号的使用进行了详细的分析介绍,需要的朋友参考下
如下所示:
复制代码 代码如下:

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);
            }
        }
    }
}

相关文章

  • Unity实现跑马灯抽奖效果

    Unity实现跑马灯抽奖效果

    这篇文章主要为大家详细介绍了Unity实现跑马灯抽奖效果,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-02-02
  • C#类中方法的执行顺序是什么

    C#类中方法的执行顺序是什么

    有些中级开发小伙伴还是搞不太明白在继承父类以及不同场景实例化的情况下,父类和子类的各种方法的执行顺序到底是什么,本文就来介绍一下
    2021-05-05
  • 基于C# 中可以new一个接口?的问题分析

    基于C# 中可以new一个接口?的问题分析

    本篇文章是对C#中可以new一个接口?的问题进行了详细的分析介绍,需要的朋友参考下
    2013-05-05
  • c#使用反射调用类型成员示例

    c#使用反射调用类型成员示例

    学习C#的时候就知道使用反射可以对我们编程提供极大的便利(动态的获取信息、调用类型成员、创建实例等等),下面示例说明一下使用方法
    2014-01-01
  • C#使用handle实现获取占用指定文件或文件夹的进程

    C#使用handle实现获取占用指定文件或文件夹的进程

    很多时候,一些不知道啥进程,把你的文件给占用了,然后就没办法删掉或者做其他操作,如果使用Locksmith功能,就可以实现快速锁定是哪个进程在搞事情,把对应进程干掉就可以了,下面内容演示C#使用几行代码实现File Locksmith功能,需要的朋友可以参考下
    2024-09-09
  • 详解C# List<T>的Contains,Exists,Any,Where性能对比

    详解C# List<T>的Contains,Exists,Any,Where性能对比

    这篇文章主要介绍了详解C# List<T>的Contains,Exists,Any,Where性能对比,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-12-12
  • C#使用Linq to XML进行XPath查询的代码实现

    C#使用Linq to XML进行XPath查询的代码实现

    最近在用到HtmlAgliltyPack进行结点查询时,发现这里选择结点使用的是XPath,所以这里总结一下在C#中使用XPath查询XML的方法,习惯了用Linq,这里也是用的Linq to xml的,需要的朋友可以参考下
    2024-08-08
  • c# 常用框架汇总

    c# 常用框架汇总

    这篇文章主要介绍了c# 常用框架汇总,帮助大家更好的理解和学习使用c#,感兴趣的朋友可以了解下
    2021-04-04
  • 详解WCF服务中的svc文件

    详解WCF服务中的svc文件

    本文详细讲解了WCF服务中的svc文件,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-03-03
  • C#解决多IfElse判断语句和Switch语句问题的方法分享

    C#解决多IfElse判断语句和Switch语句问题的方法分享

    这篇文章主要为大家介绍C#如何使用设计模式中的策略模式和委托来解决多个IfElse判断语句和Switch语句,这种替换方式在其他语言也一样可以做到,感兴趣的可以了解一下
    2022-12-12

最新评论