c类库,委托,var ,运算符 is 和 as 。
类库(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 。的更多相关文章
- 类库、委托、is as运算符、泛型集合
类库: 说白了,就是让别人调用你写的方法,并且不让别人看到你是怎么实现的. 如果有功能你不会做,需要别人帮忙,那么你的同事可以帮你写好一个类,然后你来调用这个类中的方法,完成你的项目. 1.C#源代码 ...
- C#基础回顾(三)—索引器、委托、反射
一.前言 ------人生路 ...
- Kotlin 委托(2)变量委托是什么、自定义变量委托
1.委托是什么? 1.1 官网示例 在每个变量委托的实现的背后,Kotlin 编译器都会生成辅助对象并委托给它. 假设委托如下, class C { var prop: Type by MyDeleg ...
- 委托 lambda表达式浅显理解
方法不能跟变量一样当参数传递,怎么办,C#定义了委托,就可以把方法当变量一样传递了,为了简单,匿名方法传递,省得再声明方法了:再简单,lambda表达式传递,比匿名方法更直观. public dele ...
- 【C#】委托
一.委托的基本的写法 internal class Program { private static void Main(string[] args) { ChainDelegate(); Conso ...
- 普通委托到泛型委托到Linq
private delegate bool delTest(int a); private void button1_Click(object sender, EventArgs e) { var a ...
- javascript事件委托,事件代理,元素绑定多个事件之练习篇
<ul id="parent-list"> <li id="post-1">item1</li> <li id=&qu ...
- 关于js模拟c#的Delegate(委托)实现
这是我的第一篇博文,想来讲一讲js的函数.我的标题是js模拟c#的Delegate. 一.什么是Delegate(委托) 在jquery中有delegate函数,作用是将某个dom元素的标签的事件委托 ...
- C#6.0语言规范(十五) 委托
委托启用其他语言(如C ++,Pascal和Modula)已使用函数指针进行寻址的方案.但是,与C ++函数指针不同,委托是完全面向对象的,与成员函数的C ++指针不同,委托封装了对象实例和方法. 委 ...
- fanc委托在项目中使用
一,上代码 using System; namespace FuncDemo { class Program { static void Main(string[] args) { //无参数的fan ...
随机推荐
- SQLyog中的计算适合的数据类型
可能使用的数据库工作比较杂吧(机器上有toad.PLSQL Developer.Navicat.SQLyog等).并非是觉得那种都不好用,而是觉得有适合大部分需求的,但也有工具在某一方面特别方便的. ...
- SQL Sever删除外键
declare @sql varchar(max), @tab_name varchar(128), @fk_name varchar(128);declare c cursor forselect ...
- 第三方开源--Android Image Cropper--图片裁剪
github下载地址:https://github.com/ArthurHub/Android-Image-Cropper 有两种使用方式: 第一种:Activity用法 1.添加 CropImage ...
- 使用手势对UIImageView进行缩放、旋转和移动(转)
原文地址:http://blog.csdn.net/crazy_frog/article/details/8664108 // 添加所有的手势 - (void) addGestureRecognize ...
- https页面 和 http请求的问题
(1)强制升级http 静态资源地址为https地址 https页面中不能使用http请求,http页面中可以使用https请求. 关于在https 页面有一些http的请求,可以在<head& ...
- loj 6084.「美团 CodeM 资格赛」跳格子
题目: link 题解: 尽量走\(a\). 只要保证走\(a\)后到达的点一定可以到终点就可以走. 所以从终点开始\(dfs\)出所有能够到达终点的点. 然后再从起点开始\(dfs\)路径即可. 如 ...
- 异常java.sql.SQLException: Field 'id' doesn't have a default value
使用spring data jpa出现这个情况. entity中的自增策略已经加好了. 还是出现这个异常.去数据库中查看,发现没有给主键加上自增. 出现这个问题去实体类跟数据库中看一下就可以了.
- MySQL 使用pt-table-checksum 检查主从数据一致性 (实例转)
1.基本环境: Mysql版本:5.6.12-log Percona-toolkit:2.2.18 Linux:centos6.5 2.安装 源码安装: # 一些依赖包 yum install per ...
- HDU1695(容斥原理)
GCD Time Limit: 6000/3000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submiss ...
- [转】LTE整体架构和协议架构概述
1.1 LTE整体架构 LTE(Long Term Evolution,长期演进)是由3GPP(The 3rd Generation Partnership Project,第三代合作伙伴计划)组织制 ...