类库(Class Library)  格式   .dll  文件

类库   就是类的仓库

c#代码被编译过以后的文件,不可阅读,不可修改,只能调用。

类库是一个综合性的面向对象的可重用类型集合,这些类型包括:接口、抽象类和具体类。

类库可以解决一系列常见编程任务(包括诸如字符串管理、数据收集、数据库连接以及文件访问等任务)

还可以解决多种专用开发任务(控制台应用程序、桌面应用程序、WEB应用程序等)。

特点:保密性好,可以动态加载。

写类库

新建项目——类库——用C#编写代码(类一定是 public )——生产,生产解决方案——classlibrary/bin/Debug——.dll文件

引用外部类

将类库文件粘贴到在解决方案文件对应的文件夹下,解决方案资源管理器选择显示所有文件,右键点击类库文件,选择包括在项目中,在使用该类库前先引用命名空间。

在解决方案管理器下引用上右键选择添加引用,浏览找到该类库文件,确认添加,然后在引入的类库上右键属性看一下复制本地是不是True若不是则改为True

通用变量: var

is 和 as 运算符:

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

  某对象  is  某类型         如果匹配上    返回true,

否则false

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

如果转换成功了,    返回对象

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

委托:delegate 

——方法的指针

当我们用delegate关键字声明委托时,编译器自动为我们生成类。

委托是一个类,它定义了方法的类型,

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

使得可以将方法当作另一个方法的参数来进行传递,这种将方法动态地赋给参数的做法,

可以避免在程序中大量使用If-Else(Switch)语句,同时使得程序具有更好的可扩展性。

委托使用:

定义一种委托类型

委托执行时要调用方法

定义一个委托实例

委托实例的调用

声明:[class类的外面,命名空间里面]
public delegate int FirstDel(int a, int b);

创建委托变量:【委托不能被实例化,因为不是类】定义委托的时候要根据函数来定义

委托的返回类型,参数类型必须和方法的返还类型参数类型一致,才可以指向到该方法上去

结构

在类下面,min 函数上面定义委托

public  delegate  int  FirstDel ( int a , int b )

————————— min 函数 —————————

-- FirstDel  与 JiaJian 的格式一样

JiaJian    jj   =   new   JiaJian ( );                                返回值相同     都是 int

FirstDel   td   =   jj.JiaFa                                                参数相同        都是两个 int

................

td   =  jj . JianFa

—— 先设立了  JiaJian 类 包含 JiaFa 、JianFa  两个方法

c类库,委托,var ,运算符 is 和 as 。的更多相关文章

  1. 类库、委托、is as运算符、泛型集合

    类库: 说白了,就是让别人调用你写的方法,并且不让别人看到你是怎么实现的. 如果有功能你不会做,需要别人帮忙,那么你的同事可以帮你写好一个类,然后你来调用这个类中的方法,完成你的项目. 1.C#源代码 ...

  2. C#基础回顾(三)—索引器、委托、反射

    一.前言                                                                                       ------人生路 ...

  3. Kotlin 委托(2)变量委托是什么、自定义变量委托

    1.委托是什么? 1.1 官网示例 在每个变量委托的实现的背后,Kotlin 编译器都会生成辅助对象并委托给它. 假设委托如下, class C { var prop: Type by MyDeleg ...

  4. 委托 lambda表达式浅显理解

    方法不能跟变量一样当参数传递,怎么办,C#定义了委托,就可以把方法当变量一样传递了,为了简单,匿名方法传递,省得再声明方法了:再简单,lambda表达式传递,比匿名方法更直观. public dele ...

  5. 【C#】委托

    一.委托的基本的写法 internal class Program { private static void Main(string[] args) { ChainDelegate(); Conso ...

  6. 普通委托到泛型委托到Linq

    private delegate bool delTest(int a); private void button1_Click(object sender, EventArgs e) { var a ...

  7. javascript事件委托,事件代理,元素绑定多个事件之练习篇

    <ul id="parent-list"> <li id="post-1">item1</li> <li id=&qu ...

  8. 关于js模拟c#的Delegate(委托)实现

    这是我的第一篇博文,想来讲一讲js的函数.我的标题是js模拟c#的Delegate. 一.什么是Delegate(委托) 在jquery中有delegate函数,作用是将某个dom元素的标签的事件委托 ...

  9. C#6.0语言规范(十五) 委托

    委托启用其他语言(如C ++,Pascal和Modula)已使用函数指针进行寻址的方案.但是,与C ++函数指针不同,委托是完全面向对象的,与成员函数的C ++指针不同,委托封装了对象实例和方法. 委 ...

  10. fanc委托在项目中使用

    一,上代码 using System; namespace FuncDemo { class Program { static void Main(string[] args) { //无参数的fan ...

随机推荐

  1. 剑指offer--20.矩形覆盖

    链接:https://www.nowcoder.com/questionTerminal/72a5a919508a4251859fb2cfb987a0e6来源:牛客网 @DanielLea 思路分析: ...

  2. url字符串中含中文的转码方法

    凡是用get方法的,url里含中文的,都需要调用上面的函数进行编码.要不然会被当成二进制截断. //URL编码 +(NSString*)urlEncode:(NSString *)str { int  ...

  3. nodejs 安装 cnpm 命令

    npm install -g cnpm --registry=https://registry.npm.taobao.org

  4. Linux查看硬件信息(北桥芯片组、南桥、PCI接口、CPU等)

    Linux查看硬件信息(北桥芯片组.南桥.PCI接口.CPU等) Linux查看硬件信息(北桥芯片组.南桥.PCI接口.CPU等) 查看MCH(北桥) 查看ICH(南桥) 查看CPU 查看pci接口设 ...

  5. BZOJ3170:[TJOI2013]松鼠聚会

    题目传送门:https://lydsy.com/JudgeOnline/problem.php?id=3170 通过分析可以发现,题目所说的两点之间的距离就是切比雪夫距离. 两点之间欧几里得距离:\( ...

  6. 安装部署ELK系统监控Azure China的NSG和WAF Log

    ELK是一个开源的产品,其官网是:https://www.elastic.co/ ELK主要保护三个产品: Elasticsearch:是基于 JSON 的分布式搜索和分析引擎,专为实现水平扩展.高可 ...

  7. Azure CLI的Query

    Azure CLI 2.0是基于Python的命令行.其命令直观,使用非常方便. 其输出有四种模式: --output -o : Output format. Allowed values: json ...

  8. OracleParameter中参数名必须是DB中已有字段:【 ORA-01745: 无效的主机/绑定变量名】

    错误例子: 错误原因:查询的变量是自己随便命名的,不是数据库表中已有的字段, 因此,在进行OracleParameter(":rownum",10)时,在数据库中无法自动进行字段匹 ...

  9. 蓝桥杯 历届试题 PREV-1 核桃的数量

    历届试题 核桃的数量   时间限制:1.0s   内存限制:256.0MB 问题描述 小张是软件项目经理,他带领3个开发组.工期紧,今天都在加班呢.为鼓舞士气,小张打算给每个组发一袋核桃(据传言能补脑 ...

  10. Lib之过?Java反序列化漏洞通用利用分析

    转http://blog.chaitin.com/ 1 背景 2 Java反序列化漏洞简介 3 利用Apache Commons Collections实现远程代码执行 4 漏洞利用实例 4.1 利用 ...