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 ...
随机推荐
- JedisPool的配置参数整理
JedisPool的配置参数大部分是由JedisPoolConfig的对应项来赋值的. maxActive:控制一个pool可分配多少个jedis实例,通过pool.getResource()来获取: ...
- datatable绑定comboBox,在下拉菜单中显示对应数据
实现功能: datatable绑定comboBox,在下拉菜单中显示对应数据 实现方法: .生成datatable,并为combox绑定数据源: comboBox1.DataSource = dt1; ...
- uva1583(暴力枚举或打表)
紫书上的代码是打表. 我的做法是暴力枚举.注意,有多个变量时,选择枚举哪一个变量会影响到时间效率,值得考虑.由于各位数字之和最大就是五个9的和为45,所以就枚举各位数字之和比较快. #include& ...
- Win 7升级记
微软要抛弃它的XP了,我也应该提前把家里的PC升级成Win7,省得将来麻烦事多. 其实升级它也很简单,这全要归功于网络上的能人.我首先在网络上下载好一个操作系统DEEP_Ghost_Win7_Sp1_ ...
- BZOJ - 2244 拦截导弹 (dp,CDQ分治+树状数组优化)
题目链接 dp进阶之CDQ分治优化dp. 前置技能:dp基本功底,CDQ分治,树状数组. 问题等价于求二维最长上升子序列,是一个三维偏序问题(时间也算一维). 设$dp[i]=(l,x)$为以第i枚导 ...
- UVA - 1603 Square Destroyer (DLX可重复覆盖+IDA*)
题目链接 给你一个n*n的由火柴组成的正方形网格,从中预先拿掉一些火柴,问至少还需要拿掉多少火柴才能破坏掉所有的正方形. 看到这道题,我第一反应就是——把每根火柴和它能破坏掉的正方形连边,不就是个裸的 ...
- 【模板】【学习笔记】noip数学
一.素数 欧拉筛 void prime(){ check[]=; ;i<=n;i++){ if(!check[i])prim[++cnt]=i;//这个if语句后面没有大括号!! ;j<= ...
- Mxgraph使用总结二
1 新建画板,画板相关操作 var container = document.getElementById("main"); //设置背景样式 container.style.ba ...
- LoadRunner常见错误代码解决方案
一.LoadRunner26377错误 通常不是长度的问题,如果长度有问题就都出错了.应该是服务器返回的数据问题,导致没有找到这个参数. 26377错误的成因很多,总结最直接的结果就是No match ...
- [Project Euler] 来做欧拉项目练习题吧: 题目013
问题描述: Work out the first ten digits of the sum of the following one-hundred 50-digit numbers. 371072 ...