• 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表示空引用

  • 相关阅读:
    第一次c++团队合作项目第三篇随笔
    第一次c++团队合作项目第二篇随笔
    第一次c++团队合作作业期间第一篇随笔
    电梯调度程序
    给我留下深刻印象的三位老师
    一个带有富文本功能的记事本
    我也忘了第几次团队作业
    关于复数输入输出的一点见解
    c++团队作业工作笔记
    又要开始新的征程了hhh(这次内容比较感兴趣)
  • 原文地址:https://www.cnblogs.com/muer/p/1742569.html
Copyright © 2020-2023  润新知