类库(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. vue-router使用next()跳转到指定路径时会无限循环

    我在路由为 /path 的页面这样写 beforeRouteLeave (to, from, next) { console.log('离开路路由') if(to.fullPath==='/home' ...

  2. poj-1426-Find The Multiple(打表水过)

    思路: 2的最近可以整除的数是10 所以,很关键的一点,只要是偶数,例如: 6:2*3,可以拆分为能够被2整除和能够被3整除的乘积,所以,10*111=1110 144:72*2,8*9*2,2*2* ...

  3. Leetcode 969. Pancake Sorting

    每次找到当前最大数,转两下把最大数转到最右边.重复这个操作,直到都转完. 时间复杂度O(n**2) class Solution(object): def pancakeSort(self, A): ...

  4. python并发编程的几种方法

    1.多线程 Threading模块 2.2.6版本以后 多进程 multiprocessing模块 3.协程 gevent (是一个基于libev的并发库.它为各种并发和网络相关的任务提供了整洁的AP ...

  5. 2017 年比较 Angular、React、Vue 三剑客(转载)

    为 web 应用选择 JavaScript 开发框架是一件很费脑筋的事.现如今 Angular 和 React 非常流行,并且最近出现的新贵 VueJS 同样博得了很多人的关注.更重要的是,这只是一些 ...

  6. HDFS超租约异常总结(org.apache.hadoop.hdfs.server.namenode.LeaseExpiredException)

    HDFS超租约异常总结(org.apache.hadoop.hdfs.server.namenode.LeaseExpiredException) 转载 2014年02月22日 14:40:58 96 ...

  7. UV有问题?

    1.检查读取显示贴图的环境与制作贴图环境UV坐标系是否一致. 如:Directx左上角(0,0),右下角(1,1) unity 左下角(0,0),右上角(1,1) 两者互转需要垂直镜像.

  8. laravel的小坑

    写控制器的名的时候只能出现一个首写大写字母, 后面的都为小写字母 否则会报找不到该控制器的错误

  9. c# 使用GetPrivateProfileString 读ini数据 失败

    项目中用到 GetPrivateProfileString但是使用中, 发现 无法读出 ini 配置中的值, 比如Enable_log =3 我读到的是 API设置的默认值. 网上说可能时字符集编码的 ...

  10. AngularJS入门之如何快速上手

      概述: AngularJS(ng)是一个纯JS框架,AngularJS易于构建CRUD应用(CRUD意思是增删改查) 适用于以数据操作为主的SPA(Single Page Application) ...