摘要:
本书第一章提出了一个看似简单的问题,有最多1000万条不同的整型数据存在于硬盘的文件中,如何在1M内存的情况下对其进行尽可能快的排序。每个数字用4byte,1M即可存储250 000个数据,显然,只要每次对250 000个数据排序,写入到文件中即可,重复40次。那么如何选出每次遍历的二十五万条数据呢... 阅读全文
摘要:
〇、引言接口,属于方法的抽象,它只定义方法,而不包含任何实现,既然没有实现,接口存在的意义是什么呢?接口实际上是一种契约或者约定,例如,插头有三脚的,有两脚的,但他们都有一个相同的功能,就是绝缘与通电,这也是全世界的插头所共同遵守的规则。此时,我可以定义一个约定,说:凡是设计插头的都要遵守以下约定:... 阅读全文
摘要:
昨日,风雨交加,气温骤降,所有人都蜷缩在不暖和的厚衣服里,无神的盯着显示器。我也不例外,颤抖的手点击着鼠标,一边埋怨这天气,一边埋怨这电脑。突然,一段代码映入眼帘,定睛一看,没看懂,代码是这样的:float Q_rsqrt( float number ){ long i; float x... 阅读全文
摘要:
抽象类包含抽象成员(该成员不提供任何实现,但强迫子类对其实现),不可实例化。多态:举个例子:同一个方法,在不同的子类中重写,然后统一调用,则呈现出不同的效果。基类: 1 using System; 2 using System.Collections.Generic; 3 using System.... 阅读全文
摘要:
一、多播委托前文提到的委托只是在一个委托类型中存储了一个方法(函数),实际上一个委托变量可以同时绑定多个方法,这些委托形成了一个委托链,每一个委托(实际上是方法)都顺序指向下一个委托,这个委托链就是多播委托。每一个绑定的方法就像是订阅者一样,等着发布者的消息,而触发委托变量的那个就像是发布者,将出发... 阅读全文
摘要:
(以下内容主要来自《C#本质论第三版》第十二章委托和Lambda表达式)一、委托续上上周五看了看委托,初步明白了其是个什么,如何定义并调用。上周五准备看Lambda表达式,结果发现C#本质论中顺带讲了讲委托,所以在这,继续写一下委托。首先,考虑如下问题:需要对一个数组排序,先假设是数字,要求由大到小... 阅读全文
摘要:
当有一类事务,除了类型,其他都相同外,他们可以共同继承一个泛型类,在泛型类里面,使用了抽象类型,这样只要在使用的时候赋予实际需求的类型就行了。这样大大的提高的代码的重用性。一、如何定义一个泛型类:using System;using System.Collections.Generic;using ... 阅读全文
摘要:
一、索引器C#中为了访问类的数组成员更加方便,更加直观,提供了索引器。假设一个类如下:class a{public int[] a = new int[20];}我们实例化他为_a,若想访问a的某个元素,其语法如下:a _a = new a();int m = _a.a[5];如果类a定义了索引器,... 阅读全文
摘要:
上文简述了委托,所谓的简述,只是说了一下如何使用委托,既然有了委托的基础,便可以稍微一探事件的机制。 事件,实际上是委托类型,事件处理函数如下: public delegate void MyHander(object sender, MyEventArgs e);//声明一个委托,其中要与... 阅读全文
摘要:
传说中的东西,今天兴趣来了,就研究了研究,把大概什么是委托,如何使用委托稍微梳理了一下。1、什么是委托 首先,Class(类)是对事物的抽象,例如,哺乳动物都是胎生,那么你可以定义一个哺乳动物的基类,然后一大片的驴,马,狗,猪都从这继承而去。 委托可以认为是同一类函数(function,也叫做方... 阅读全文