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;



 

  

posted @ 2017-04-17 10:19  青年a  阅读(168)  评论(0编辑  收藏  举报