• 2017-4-17 类库 通用变量 is和as运算符 委托


    1.类库

      以dell结尾的文件,类的仓库,里面有很多编译的c#代码,

      不可以阅读,不可以修改只能调用,保密性好,使用者无法自己更改类库,只能使用

      使用方法:引用   点击右键,添加引用,浏览,选择到相应的dll文件,确定。点击右键查看 属性 复制本地是否为true,不是更改  然后在开头加上 【using 命名空间名字】

      

    2.通用变量   var

      var可以是任何数据类型

      var a = 10; var ss = "sadsda";

    3.is和as运算符

      is是判断某个对象是否为某种类型,返回bool类型

      格式:某对象 is 某类型   如果匹配上返回true。否则返回false

      as是将某个对象转换成某种类型,返回的是对象或者null

      如果转换成功返回对象,失败了不会报错,而是返回一个null值

      例子:

        

     ArrayList list = new ArrayList();
    
                var a = 10;
                var b = "asdad";
                list.Add(a);
                list.Add(b);
                foreach(var c in list)
                {
                    if (c is int) //判断c是否为int类型,是返回true,不是返回false  格式 某对象 is 某类型
                    {
                        Console.WriteLine(c);
                    }
                    string cc =  c as string;//判断c是否为字符串类型,不是返回null,是的返回对象     
                    if (cc != null) 
                    {
                        Console.WriteLine(c);
                    }
                }
    
                Console.ReadLine();

    4.委托:delegate

      方法的指针

      事件也是一种委托,但是是一种特殊的委托,

      委托可以让方法变成参数一样随便传递

      例:

      

    方法:
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using ConsoleApplication2;
    
    namespace ConsoleApplication2
    {
        public class JiaJian
        {
            public int jiafa(int a, int b) 
            {
                return a + b;
            }
            public int jianfa(int a, int b)
            {
                return a - b;
            }
            public int dajianfa(int a, Firstdel fd)//委托可以让方法变成参数一样随便传递
            {
                return a + fd(10,20);
            }
            
        }
    }
    View Code
    主函数:
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using ConsoleApplication2;
    
    namespace ConsoleApplication2
    {
        public delegate int Firstdel(int a, int b);
        class Program
        {
           
            static void Main(string[] args)
            {
                JiaJian jj = new JiaJian();
                Firstdel fd = jj.jiafa;
                int aaa = jj.dajianfa(10, fd);//调用大加法这个方法,参数fd为加法,(委托可以让方法变成参数一样随便传递)
                Console.WriteLine(aaa);
                Console.ReadLine();
    
            }
        }
    }
    View Code

      public delegate int FirstDel(int a,int b);

      创建委托变量:

      先实例化方法

      FirstDel 名字 = 委托类中的方法;

      在class program中声明

        public delegate int FirstDel(int a, int b);
     在mian函数中
        JiaJian jj = new JiaJian();    ---jiajian里面有2个方法,分别位加减方法,格式和委托一样,需要2个参数,返回int类型
        FirstDel fd = jj.Jia;
     Console.WriteLine(fd(10,20));
    打印的结果位 30,
     fd = jj.jian;
     Console.WirteLine(fd(20,10)); 打印的结果位 10;
    
    
    
    
    
    
    

      

  • 相关阅读:
    移动互联网全新体验Andoid
    《XNA高级编程:Xbox 360和Windows》51
    《XNA高级编程:Xbox 360和Windows》47
    让FCKeditor支持多用户环境(asp.net)
    《XNA高级编程:Xbox 360和Windows》45
    《XNA高级编程:Xbox 360和Windows》46
    《XNA高级编程:Xbox 360和Windows》44
    《XNA高级编程:Xbox 360和Windows》43
    hdu 4314 Save the dwarfs 夜
    poj 3150 Cellular Automaton 夜
  • 原文地址:https://www.cnblogs.com/qingnianxu/p/6721599.html
Copyright © 2020-2023  润新知