zoukankan      html  css  js  c++  java
  • 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;
    
    
    
    
    
    
    

      

  • 相关阅读:
    固定思维的可怕(转)
    Javascript模块化编程:require.js的用法
    js中将字符串转为JSON的三种方式
    cf 55D 数位dp 好题
    fzu 2113 数位dp
    uestc 250 数位dp(水)
    hdu 3652数位dp
    数位dp 3943 二分法
    hdu 3943 经典数位dp好题
    hdu 4871 树的分治+最短路记录路径
  • 原文地址:https://www.cnblogs.com/qingnianxu/p/6721599.html
Copyright © 2011-2022 走看看