随笔分类 -  读书笔记之C#高级编程第六版

2年前还是第四版,屁颠屁颠的跟同事借来这么一本书。看到第十一章,就扔到一边去了。现在都到第七版了,看看能坚持到第几章。呵呵。。。
第十四章 错误和异常
摘要:搞懂下面这些情况的异常处理情况就OK了!try { // Point A try { //Point B } catch { //Point C } finally { // clean up } // Point D }catch { //error handling }finally { // clean up }1. 如果在A.D出发生异常,则有外层Catch捕捉和外层 finally处理2.如果在B出抛出,且有一个合适的内层Catch处理,就会执行内层的catch及finally3.如果在B出抛出,内层没有合适的catch捕捉,则执行内层的finally块,退出内层try块,继续搜索外 阅读全文

posted @ 2011-03-16 15:41 小齐宝 阅读(135) 评论(0) 推荐(0)

第12章 内存管理和指针
摘要:题外话: 自从过完年,找不到一件事能让自己安下心去做的。三天打鱼两天晒网,从来都是如此,在一次次感叹中拿起书,眼睛是动了,在脑子里却不留任何痕迹。何时解? Let's go!1.32位的操作系统会被每一个程序分配4GB的内存。2.堆栈从内存地址向低内存地址填充,堆上的内存是向上分配的。3.垃圾收集器在释放了能释放的所有对象,会把其他对象移动回堆得顶部。再次形成一个连续的块。4.释放未托管的资源的两种方法。a.声明一个析构函数,b.在类中执行System.IDisposable接口。最好的方法是执行这两种机制。5.用unsafe关键字编写不安全代码。unsafe可以标记方法,参数,类,结 阅读全文

posted @ 2011-03-07 17:21 小齐宝 阅读(172) 评论(0) 推荐(0)

第十章 集合
摘要:今天差一点就直接睡觉去了。冬天实在太冷,总是给自己找好多理由。还好,继续今天的复习。集合 以前用的也只有那几样,殊不知有很多连概念都不知道。同事说看书没用,我反驳:那是因为你没看。一 列表ListT 1.ForEach用法 racers.ForEach(delegate(Racer r){Console.WriteLine(r.ToString)}); 或者使用λ表达式 racers.ForEach (r=Console.WriteLine(r.ToString)); 2. 类型转换 ListPerson persons = racers.ConvertAllPerson(r= 阅读全文

posted @ 2011-01-18 14:25 小齐宝 阅读(263) 评论(0) 推荐(0)

第九章 泛型
摘要:因为考试。有一个礼拜没有学习C#,发现忘记的还真快。第九章--泛型。我记得当初我来这家公司面试,现在的主管面试我,问我用过泛型吗? 我那个时候就知道数据库里面貌似有个范式的概念,呵呵。写过几个小系统,就自认为对C#是了解。殊不知,连这个基础的问题都没有听说过。可笑啊~~~ 还是复习吧!一。概述 1.性能好:泛型不会涉及ArrayList的装箱,拆箱操作。 2.类型安全:在使用时确定类型,所以在编译时可以发现类型的错误。 3. 二进制代码的重用:定义一次,可以使用不同的类型实例化。 4.代码量:引用类型共享同一个内部类的所有实现代码,只需要4字节的内存单元,就可以引用一个引用类型;值类型根据各自 阅读全文

posted @ 2011-01-11 12:03 小齐宝 阅读(271) 评论(0) 推荐(0)

第八章 字符串和正则表达式
摘要:一。字符串 1.字符创是引用类型。对字符串的任意修改,都会新增加一个字符串对象。对以修改频繁的使用StringBuilder. 2.如果只设计两,三个字符串的拼接还是使用string。二。正则表达式 记住一些规则,感觉也不属于C#范畴。pass! 阅读全文

posted @ 2011-01-10 10:04 小齐宝 阅读(193) 评论(0) 推荐(0)

第七章 委托和事件
摘要:1.委托a) 理解委托的一个好方式就是把委托当做给方法签名和返回类型指定名称 b)匿名方法 ex: static void Main() { string mid = ", middle part,"; delegate string dlegateTest(string val); delegateTest anonDel= delegate(string param) { param += mid; param += "and this was added to the string;return param; }}使用匿名方法必须遵循: 方法中不能使用跳转语句跳到该方法的外部,反之亦然 阅读全文

posted @ 2010-12-30 16:36 小齐宝 阅读(199) 评论(0) 推荐(0)

第六章 运算符和类型强制装换
摘要:1.运算符 a) 用于不安全代码的运算符 类型信息运算符: sizeof(仅用于1.0,1.1) 间接寻址运算符: * - & b) 平时用的不多的运算符checked: 要执行溢出检查,如果有溢出,抛出异常(用checked编译器选项进行编译,可以检查程序中所有未标记代码中的溢出) unchecked: 不执行溢出检查,这是默认设置,除非代码行标记为checked,才需要显示使用uncheckedis:检查对象是否与特点的类型兼容(是该类型或者派生于该类型)返回bool型 as:执行引用类型的显示类型转换,如果与制定的类型兼容,装换成功。不成功,返回null。sizeof: 确定堆栈中值 阅读全文

posted @ 2010-12-30 16:16 小齐宝 阅读(211) 评论(0) 推荐(0)

第五章 数组(二)
摘要:Array 实现了IEumerable,ICollection,IList 接口1.IEumerable foreach语句中使用枚举,可以迭代集合中的元素。数组或集合执行带GetEumerator()方法的IEumerable接口。GetEumerator()方法返回一个执行IEumerable接口的枚举。foreach 语句并不真的需要在集合类中执行接口,有一个名为GetEumerator()的方法,返回实现了IEnumerator接口的对象就足够了。yield语句 便于创建枚举器ex : public class HelloCollection { public IEumeraror G 阅读全文

posted @ 2010-12-30 10:49 小齐宝 阅读(148) 评论(0) 推荐(0)

第五章 数组(一)
摘要:1. 简单数组 数组是引用类型,数组的初始化必须指定大小。如果无法指定可以使用集合。(集合是后面的内容) 数组元素是值类型(此时的值类型存在托管堆上)数组元素是引用类型2.多维数组 多维数组的定义 二维:int[,] 三维:int[,,] ex 三维数组的声明:int[,,] threedim={ {{1,2},{3,4}}, {{5,6},{7,9}} };3 锯齿数组 ex 锯齿数组定义: int[][] jagged =new int[3][]; jagged[0] =new int[2]{1,2}; jagged[1] =new int[6]{3,4,5,6,7,8}; jagged[ 阅读全文

posted @ 2010-12-27 23:01 小齐宝 阅读(168) 评论(0) 推荐(0)

第四章 继承
摘要:今天难得忙了一天,加班到7点才回家。到家9点又做了一会。感觉是十分充实啊。不知道会不会影响我的c#第六版学习。要坚持,一定要坚持。嗯哼!开始!1 继承的类型继承分实现继承和接口继承(原来从类继承来的方式叫实现继承,对我来说十个新词。) C#只支持继承一个类,可以继承多个接口 结构居然支持接口继承,不支持实现继承(原以为除了派生于System.ValueType,其他的都不支持) 2 实现继承 属性也可以声明为Virtual。 在派生类中重写虚函数,在调用方法时。会根据对象类型调用合适方法。 隐藏方法 :是指子类用new关键字重新实现定义在基类中的方法,但是实际运行时只能根据引用来调用相应的方法 阅读全文

posted @ 2010-12-23 23:11 小齐宝 阅读(145) 评论(0) 推荐(0)

第二章 C#基础
摘要:这章想来都熟透的东西,平时用的最多的东西,看的也非常快,一目十行。也没有太多要写的。1. 第一次用C#命令编辑器编译程序 csc 文件名。 我把文件写在D盘,VS装在C盘。在用CD时怎么也CD不到D盘哪里去。 最后是把文件拷到C盘下编译执行的。2. 命名空间的别名 using alias=NamespaceName; 使用时 alias::ClassExample3. C#预处理器指令#define告诉编译器存在给定名称的符号 #endef 清楚符号,要放在C#源代码的开通哦。结合#if #elif #else #endif 使用例如:定义好 #define DEBUG int DoSomeW 阅读全文

posted @ 2010-12-21 22:33 小齐宝 阅读(184) 评论(0) 推荐(0)

第一章 .net体系结构
摘要:对于一些概念性又让我看不见,摸不着的东西。我实在很有耐心把它看完。只大概看了前面几小节。1.1 C#与.NET的关系 从这节里,我知道C#是依附.NET综合了面向对象及其他语言优势的一种新型语言。没有.NET,C#就是一堆字母组合,啥也不是。1.2 共同语言运行库 简称CLR或.NET运行库。在CLR上运行的代码称为托管代码。CLR负责把IL(中间语言,也就是托管代码吧)编译为平台专用的代码。 因为有了IL,所以可以实现平台无关,互操作。因为JIT编译比JAVA的解释编译要快很多。1.3 中间语言主要特征:1.面向对象和使用接口 2.值类型和引用类型之间的巨大差别3.强数据类型 4.使用异常来 阅读全文

posted @ 2010-12-21 22:03 小齐宝 阅读(180) 评论(0) 推荐(0)

导航