-
[综合] 计算机基础(11)——字符编码方案(2)——ASCII码对照表
ASCII(AmericanStandardCodeforInformationInterchange,美国标准信息交换代码)是基于拉丁字母的一套电脑编码系统,主要用于显示现代英语和其他西欧语言。它是现今最通用的单字节编码系统,并等同于国际标准ISO/IEC646。 请注意,ASCII是Americ...
9
热度 -
14
热度 -
[综合] 委托和事件(1)——程序集
1.程序集(Assembly),可以看做是一堆相关类打一个包,相当于java中的jar包。打包的目的:程序中只引用必须的程序集,减小程序的尺寸;一些程序集内部的类不想让其他程序集调用。 2.我们调用的类都是位于各个程序集中,如果调用的类在没有引用的程序集中,则需要添加对那个程序集的引用,比如Conf...
11
热度 -
[综合] 委托和事件(2)——访问级别约束
1.访问级别约束:子类访问级别不能比父类高(等级观念),因为子类能够出席的场合父类都应该能出席,如果父类可访问级别比子类低就有了父类去不了的场合(儿子能去的地方爹一定要能去)。举例;方法、属性等暴露的返回值、参数的数据类型不能比方法、属性或者所在类的可访问级别低,因为这些方法、属性要能在高级场合出现...
33
热度 -
[综合] 委托和事件(3)——为什么有委托
1.使用变量的好处: 6*2:计算6的二倍 i*2:计算变量i指向的值的二倍,这样就可以计算任意数的二倍。在写这个程序的时候程序员也不知道i是几。 6*2→i*2,i就是在扣窟窿。 2.多态: Personp1=CreatePerson();//p1可能是中国人,可能是日本人,也可能是韩国人。 ...
55
热度 -
[综合] 委托和事件(4)——委托的使用
1.声明委托的方式:delegate返回值类型委托类型名(参数)。 比如delegatevoidStringProcess(strings); 注意这里的除了前面的delegate,剩下部分和声明一个函数一样,但是StringProcess不是函数名,而是委托类型名。 2.声明的委托是一种类型,就像...
54
热度 -
[综合] 委托和事件(5)——委托使用案例:对Int数组进行过滤
对一个Int序列(IEnumerable<int>)进行过滤,返回满足要求的元素到新的序列中。 delegateboolFilterDelegate(inti); staticIEnumerable<int>Filter(IEnumerable<int>value...
9
热度 -
[综合] 委托和事件(6)——委托使用案例:字符串数组处理
delegatestringProcessDelegate(strings);staticvoidProcessArray(ProcessDelegatep){string[]values=newstring[]{"aB","Cd"};for(inti=0;i<values.Length;i+...
61
热度 -
[综合] 委托和事件(7)——委托使用案例:数据验证控件
编写UserControl,UserControl内有一个textbox,需要对textbox中的值进行验证。将验证时机、验证报错等写在UserControl中,把数据的不同的校验逻辑通过Delegate动态指定。 publicValidateValidator;privatevoidtextBox...
57
热度 -
[综合] 委托和事件(8)——委托的组合
delegatevoidProcessWordDelegate(strings) ProcessWordDelegated=newProcessWordDelegate(SayHello)+newProcessWordDelegate(ToLower) 组合的委托必须是同一个类型。 相当于创建了一个...
74
热度 -
19
热度 -
[综合] 委托和事件(10)——事件
1.事件语法:event ProcessWordDelegate{add{...},remove{...}} add、remove和属性、索引一样最终都编译成两个方法。 2.如果是简单的增加委托,没有特殊的判断逻辑可以简写,一般情况下都是简写。 3.加了event关键字实现事件机制的好处:用了eve...
72
热度 -
[综合] 委托和事件(11)——事件本质论
event会自动生成一个privatedelegate变量和两个函数:add和remove,C#编译器用这两个方法支持+=和-=操作符。C#<>.Net。 publiceventMyDelegateOnEvent; //内部实现是(示例性) privateMyDelegateOnEven...
16
热度 -
[综合] 委托和事件(12)——委托和事件的区别
委托和事件没有可比性,因为委托是类型,事件是对象,下面说的是委托的对象(用委托方式实现的事件)和事件(标准的event方式实现)的区别。事件的内部是用委托实现的(事件是用委托来实现的)。(举例子:三种实现事件方式的区别)。 因为对于事件来讲,外部只能“注册自己+=、注销自己-=”,外界不可以注销其他...
42
热度 -
[综合] 委托和事件(14)——Lambda表达式(1)——Lambda
ProcessStringDelegatep=(s)=>{Console.WriteLine(s);}; lambda方式使用Filter委托,非常漂亮: IEnumerable<int>values2=Filter(values,i=>i>0); Lambda语法详解...
54
热度 -
[综合] LINQ(1)——扩展方法
1.在StringHelper类中编写QuotedStr方法,使用时恐怖。判断一个字符串是否是正确的Email地址:IsEmail. 2.总感觉不是很好,要是看起来字符串有一个IsEmail方法多好呀。将IsEmail放到一个单独的类中,类声明为static(静态类),方法是静态方法,并且在第一个s...
56
热度 -
[综合] LINQ(2)——LINQ基础
1.能做什么,将int数组中大于20的元素排序输出: int[]values={30,5,99,77,102,8,12,35};varresult=fromiteminvalueswhereitem>20orderbyitemselectitem; 2.LINQ(读音link,.Net3.0新...
13
热度 -
[综合] LINQ(3)——案例:取出现次数最多的三个数
int[]values={1,2,5,2,3,5,5,3,4,3,3};varresult=fromiteminvaluesgroupitembyitemintogorderbyg.Count()descendingselectnew{数字=g.Key,次数=g.Count()};foreach(v...
63
热度 -
[综合] LINQ(4)——Linq To Object
查询语句: int[]values={30,5,99,77,102,8,12,35};varresult=fromiteminvalues//foreach(intiteminvalues)whereitem>20selectitem; 和sql语句不同,linq中select放到最后(方便类...
60
热度 -
[综合] LINQ(5)——排序,分组
1、orderbyitem 2、orderbyperson.Agedescending 3、 int[]values={1,2,5,2,3,5,5,3,4,3,3};varresult=fromiinvaluesgroupibyiintog//按照i进行排序,分组的数据用g表示selectg.Key...
9
热度