类库:

说白了,就是让别人调用你写的方法,并且不让别人看到你是怎么实现的。

如果有功能你不会做,需要别人帮忙,那么你的同事可以帮你写好一个类,然后你来调用这个类中的方法,完成你的项目。

1、C#源代码文件,包括在自己的项目中

2、类库,.dll

优点:你写的方法别人看不到实现过程,保密性强

缺点:如果你写的方法有错误,别人无法更改

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

delegate - 定义关键词

//声明委托类型
public delegate int FirstDel(int aaa, int bbb);

//创建委托变量,赋值,函数指向
FirstDel f1 = new JiaJian().Jia;

int c = f1(10, 20);

-----------------------------------------------------------

var:万能类型

object:所有类型的基类

as:类型转换,如果转换不成功,不会报错,而是返回一个null

is:判断某个变量/对象,是不是某一种类型,返回bool值

泛型集合: List<T>

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

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using 加减法;//引用所需要的类,然后再进行实例化
using ClassLibrary1; namespace 类库_委托_is_as运算符_泛型集合
{
class Program
{
//委托,关键词delegate
//声明委托类型
public delegate int FirstDel(int a1, int b1); public void a2(FirstDel f, int a)
{
} static void Main(string[] args)
{
int one = ;
int two = ;
//写一个加减运算方法,可以另外写一个项目和类,在该项目中进行引用即可 //右键项目,选择倒数第二个文件资源管理器,把需要添加的类复制粘贴到需要的项目中,
//或者可以点击解决方案中的显示所有文件,续重需要添加的类,单击即可 //实例化,一定要先引用所需要的那个类
//使用方式一:普通方式
jiajian j = new jiajian();
int c = j.jia(one, two);
Console.WriteLine(c); //使用方式二:匿名对象使用方式,可以简化代码
int h = new jiajian().jia(, );
Console.WriteLine(h); //一、类库的使用,先引用 //右键项目,选择倒数第二个文件资源管理器,bin文件夹,debug文件夹,后缀为.dll的文件就是类库,
//复制到需要的项目文件夹中的bin文件夹,中的debug文件夹。
//用记事本打开的话,现实的是乱码,因为被编译加密了。 int d = new chengchu().chengfa(one, two);
Console.WriteLine(d); //二、委托,函数的指针
//创建委托变量,赋值,函数指向
//委托没有办法被实例化,可一直想一个函数,但结构必须一样
FirstDel f1 = new jiajian().jia;//定义了一个FirstDel f1这样一个委托变量,把jia这个方法指向到f1身上
int g = f1(, );//被指向后f1就代表这个方法,并可以使用
Console.WriteLine(g); new Program().a2(f1, ); //三、知识点补充
//1、is和as运算符
object ob = new jiajian();//单独拿出ob不知道其类型,但需要转换成相应类型使用,
//chengchu cc = (chengchu)ob;//以前都是用强转,语法上不报错。但运行时报错
if (ob is chengchu)//is的意思是判断一下某个变量或对象是不是某一种类型,返回的是bool类型(true或false)
{
chengchu cc = ob as chengchu;//用as这样写如果装换不成功,程序运行时不会报错,
//返回的是null(其他的int,string等类型都是正常转换)
} //2、泛型集合 List<T> :List是集合 T表示是任意类型
//不固定长度,但是固定类型的一种集合 List<chengchu> list = new List<chengchu>();//这样写,list集合里面只能放chengchu类型,
//放其他类型报错,取出来的也不用类型转换,都是chengchu类型 Console.ReadLine();
}
}
}

面向对象思维导图整理

类库、委托、is as运算符、泛型集合的更多相关文章

  1. C#基础精华03(常用类库StringBuilder,List<T>泛型集合,Dictionary<K , V> 键值对集合,装箱拆箱)

    常用类库StringBuilder StringBuilder高效的字符串操作 当大量进行字符串操作的时候,比如,很多次的字符串的拼接操作. String 对象是不可变的. 每次使用 System. ...

  2. 2016年11月27日--面向对象:多态、类库、委托、is和as运算符、泛型集合

    1.虚方法 virtual 重写 override 父类中的方法,在子类中并不适用,那么子类需要自主更改继承的方法或者是属性,那父类中加了virtual关键字的方法才可以被子类重写,子类重写父类的方法 ...

  3. C#—类库、委托、is和as运算符、泛型集合

    类库 类库(Class Library)是一个综合性的面向对象的可重用类型集合,这些类型包括:接口.抽象类和具体类.类库可以解决一系列常见编程任务(包括诸如字符串管理.数据收集.数据库连接以及文件访问 ...

  4. 多态、类库、委托、is和as运算符、泛型集合

    多态:简而言之就是龙生九子,各有不同 有了继承,才有了多态 1.虚方法 virtual 重写 override 父类中的方法,在子类中并不适用,那么子类需要自主更改继承的方法或者是属性,那父类中加了v ...

  5. 类库,委托,is和as运算符,泛型集合

    类库:其实就是一堆类文件,只不过用户看不到这些类的源代码,保密性好. 优点:保密性好缺点:如果这个方法不好用,使用者无法自己去更改它. 类文件是.cs    类库是.dll 新建项目为类库,在debu ...

  6. 多态,虚拟方法,重写,接口,类库,委托,is,as运算符,泛型集合,万能变量

    多态:简而言之就是龙生九子,各有不同 有了继承,才有了多态 1.虚方法 virtual重写 override父类中的方法,在子类中并不适用,那么子类需要自主更改继承的方法或者是属性,那父类中加了vir ...

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

    类库: 其实就是一堆类文件,只是看不到这些类的源代码,保密性好. 优点:保密性好 缺点:如果这个方法不好用,使用者无法自己去更改它. 给的大多是dll文件.使用方法:引用右键,添加引用,浏览,选择到相 ...

  8. 类库,委托,as.is,var,泛型集合

    类库: 就是让别人调用你写的方法,并且不让别人看到你是怎么实现的.(比如说一些核心文件) 如果有功能你不会做,需要别人帮忙,那么你的同事可以帮你写好一个类,然后你来调用这个类中的方法,完成你的项目. ...

  9. 面向对象——is和as运算符、泛型集合 List<T>

    二:is和as运算符: (1) is运算符 is 运算符用于检查对象是否与给定类型兼容.如果兼容返回true,否则返回false; 一般用于查看某个类是否实现了某个接口,或者是不是某个类的子类; 例如 ...

随机推荐

  1. HTML5 webSQL 中查询结果集 result.rows.item 的用法

    加入查询回调函数如下: function(tx,result){ var len = result.rows.length; var recordset = result.rows.item; ){ ...

  2. 【001:Tomcat搭建简单文件服务器】

    1.下载 tomcat 软件包 2.在webapps/Root 下放置需要下载的文件 3.运行  tomcat / bin目录 下的startup.sh 4.访问 ip+8080端口

  3. [转载] 使用MySQL Proxy解决MySQL主从同步延迟

    原文地址:http://koda.iteye.com/blog/682547 MySQL的主从同步机制非常方便的解决了高并发读的应用需求,给Web方面开发带来了极大的便利.但这种方式有个比较大的缺陷在 ...

  4. Android 去除最上面应用名称及图标

    @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); r ...

  5. 方法过滤器,分布式缓存 Memcached实现Session解决方案

    控制器-〉方法过滤器-〉controller-> 方法 所以通过建立controller基类的方法进行方法过滤,所有控制器先执行基类的OnActionExecuting 方法. using Sp ...

  6. Mvc请求管道中的19个事件

    下面是请求管道中的19个事件. (1)BeginRequest: 开始处理请求 (2)AuthenticateRequest授权验证请求,获取用户授权信息 (3):PostAuthenticateRe ...

  7. servlet定义

    . 运行在服务器上的java类

  8. 如何通过CRM评估客户价值和提高客户忠诚度?

    随着市场经济的日益繁荣,同行业之间企业的竞争越来越激烈,企业纷纷各出奇招吸引和挖掘客户,力求让自己的品牌成为更多客户的第一选择.那么,我们可以用什么方法来评估客户价值,提高客户忠诚度呢? 在互联网时代 ...

  9. [课程设计]Scrum 1.5 多鱼点餐系统开发进度(点餐页面框架修复及继续布置)

    Scrum 1.5 多鱼点餐系统开发进度(点餐页面框架修复及继续布置)  1.团队名称:重案组 2.团队目标:长期经营,积累客户充分准备,伺机而行 3.团队口号:矢志不渝,追求完美 4.团队选题:餐厅 ...

  10. 浅谈用ModelSim+Synplify+Quartus来实现Altera FPGA的仿真

    浅谈用ModelSim+Synplify+Quartus来实现Altera FPGA的仿真 工作内容: Mentor公司的ModelSim是业界最优秀的HDL语言仿真软件,它能提供友好的仿真环境,是业 ...