面向对象--类库、委托、is和as运算符、泛型集合

时间:2021-10-30 15:14:52

类库:

其实就是一堆类文件,只是看不到这些类的源代码,保密性好。

优点:保密性好

缺点:如果这个方法不好用,使用者无法自己去更改它。

给的大多是dll文件。使用方法:引用右键,添加引用,浏览,选择到相应的dll文件,确定。然后在开头加上 【using 命名空间名字】

委托:

委托可以理解为函数的指针。

关键词:delegate

声明:public delegate int FirstDel(int a, int b);

创建委托变量:
FirstDel 名字 = 与这个委托类型相同的方法;

在class program中声明:

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

在main函数中:

            JiaJian jj = new JiaJian();
FirstDel del = jj.Jia;
Console.WriteLine(del(10,20));

is和as运算符:

is:判断某一个对象是否是某一种类型

对象 is 类型名

是这种类型返回true,不是这种类型返回false

as:将某一个对象转换成某一种类型,如果转换不成功,那么会给这个对象赋一个null,不会报错

泛型集合  list<T>

综合了集合与数组的优点

固定数据类型,不固定长度的一种集合

使用:

在开头添加:

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

main函数中:

面向对象--类库、委托、is和as运算符、泛型集合
            List<string> slist = new List<string>();

            slist.Add("aaa");
slist.Add("bbb"); string a = slist[0]; List<int> ilist = new List<int>();
ilist.Add(1);
ilist.Add(2); List<JiaJian> jlist = new List<JiaJian>();
面向对象--类库、委托、is和as运算符、泛型集合

万能变量:

var

dynamic

面向对象--类库、委托、is和as运算符、泛型集合
            var bb = "aaa";
var cc = new Random();
var dd = new List<JiaJian>(); dynamic ee = "aaa"; dynamic ff = new Random(); dynamic gg = new List<Random>();