zoukankan      html  css  js  c++  java
  • c# IS与AS的使用方法

    //解决:在很多情况下,我们并不知道对象是否支持某一接口,这时,可以试图讲对象转化为接口类型
    //在c#里面,我们可以采取两种方法获的对象知否支持某个接口

    代码如下:

    using System;
    using System.Collections.Generic;
    using System.Text;

    namespace ConsoleApplication6
    {
        
    class Program
        {
            
    static void Main(string[] args)
            {
                conn cn 
    = new conn();
                
    if (cn is Iconnect)//是否实现了接口
                {
                    Iconnect iconn 
    = (Iconnect)cn;
                    iconn.read();
                    Console.ReadLine();
                }
                
    else
                {
                    Console.WriteLine(
    "can not connvert");
                    Console.ReadLine();
                }

                
    //IS操作符很清晰,但是操作效率不高,另种方式是AS

                conn cnn 
    = new conn();
                Iconnect icnn1 
    = cnn as Iconnect;
                
    if (icnn1 != null)
                {
                    icnn1.write();
                    Console.ReadLine();
                }
                
    else
                {
                    Console.WriteLine(
    "can not connvert");
                    Console.ReadLine();
                }
                
    //as 操作符首先测试转换是否合法,如果合法就转换,否则返回NULL。关键词NULL表示空引用
            }
        } 

        
    public interface Iconnect
        {
            
    void read();
            
    void write();
        }

        
    public class conn : Iconnect
        {
            
    public void read()
            {
                Console.WriteLine(
    "实现了read()方法");
            }
            
    public void write()
            {
                Console.WriteLine(
    "实现了write()方法");
            }
        }

    }

    结论:

    1.IS操作符很清晰,但是操作效率不高,另种方式是AS

    2.as 操作符首先测试转换是否合法,如果合法就转换,否则返回NULL。关键词NULL表示空引用

  • 相关阅读:
    PHP ceil() 函数
    PHP Array 函数
    php中的include()的使用技巧
    [观察者模式]在游戏开发中的应用
    [策略模式]在游戏开发中的应用
    使用EA将源码转化为类图
    PAT 1013 数素数 (20)
    PAT 1034 有理数四则运算(20)
    PAT 1033 旧键盘打字(20)
    PAT 1032 挖掘机技术哪家强(20)
  • 原文地址:https://www.cnblogs.com/muer/p/1742569.html
Copyright © 2011-2022 走看看