摘要: 《Pro ASP.NET MVC 3 Framework》简介:作者: Adam Freeman 和 Steven Sanderson出版社: Apress; New平装: 820页语种: 英语ISBN: 1430234040声明:笔记里面按我自己的理解翻译了大部分内容,写这个笔记的目的:为了方便自己查阅,也为园友提供学习的方便。我无意侵犯作者的任何权利,仅仅为了自己学习。我没有查到作者的邮箱,如果您知道两位作者的邮箱,希望留言给我。我会跟作者沟通来争得作者的许可。也希望路过的朋友不要用于任何商业目的。 第一部分 ASP.NET MVC3介绍《Pro ASP.NET MVC 3 Framewo阅读全文
posted @ 2012-02-07 16:30 Gabriel Zhang 阅读(8374) 评论(29) 编辑
摘要: 1.对象的析构函数与Finalize方法与C++类似,C#允许程序员为类定义一个”析构函数“:class MyClass{ ~MyClass() //析构函数 { //编写释放非托管的资源 }}上面的代码编译后,可以看到:这里调用了Object类的Finalize方法,这个方法里面是空的,什么也没有。与构造函数类似,子类的析构函数会自动调用基类的析构函数,由此不断上溯,到最顶层的Object。上面显示了基类的析构函数是在finally里面执行的,这意味着销毁对象是先完成子类的清理工作,在完成基类的清理工作。如果基类没有定义析构函数,则跳过继续向上搜索。当C...阅读全文
posted @ 2013-04-05 20:04 Gabriel Zhang 阅读(79) 评论(0) 编辑
摘要: 所谓同步:如果在代码中调用了一个方法,则必须等待该方法所有的代码执行完毕之后,才能回到原来的地方执行下一行代码。异步:如果不等待调用的方法执行完,就执行下一行代码。同步例子:namespace AsyncProgram{ class Program { //Calculate the folder's total size private static Int64 CalculateFolderSize(string FolderName) { if (Directory.Exists(FolderName) == f...阅读全文
posted @ 2013-03-21 21:40 Gabriel Zhang 阅读(83) 评论(0) 编辑
摘要: 复制:对象的复制是生成一个与指定对象完全一样的新对象,实现的方式根据定义可以知道,新建一个类型相同的对象,然后复制原对象的每一个成员和字段。浅复制: class Program { static void Main(string[] args) { ClassA A = new ClassA(); CloneObj clone = new CloneObj(); ClassA newA= clone.CloneA(A); } } public class Clas...阅读全文
posted @ 2013-01-24 15:17 Gabriel Zhang 阅读(1113) 评论(11) 编辑
摘要: 几天前的一次笔试中遇到了关于StringBuilder的Length和Capacity属性的问题,之前忽略了。今天实践下:1.普通实践官方解释如下:StringBuilder.Capacity:获取或设置可包含在当前实例所分配的内存中的最大字符数。StringBuilder.Length:获取或设置当前 StringBuilder 对象的长度。 class Program { static void Main(string[] args) { StringBuilder sb = new StringBuilder("0123456...阅读全文
posted @ 2013-01-09 14:48 Gabriel Zhang 阅读(1002) 评论(5) 编辑
摘要: 一.子类和父类方法之间的关系1.当子类和父类有方法完全相同的方法namespace ConsoleApplication2{ class Program { static void Main(string[] args) { B b = new B(); A a = new A(); A c = new B(); b.Show(); a.Show(); c.Show(); Console.Read();...阅读全文
posted @ 2013-01-08 17:55 Gabriel Zhang 阅读(151) 评论(0) 编辑
摘要: ——老赵微博对与ref和out的区别,我相信很多人都知道,这里我简单罗列下:1.首先ref和out两种类型的参数都是可以将方法内对参数的修改传递到方法外面2.ref参数需要在传递之前初始化,out不需要,out参数在返回时必须赋值3.在CLR角度看ref和out没什么区别,但是C#编译器采取不同的方式对待下面通过一些实例来进一步了解①一般方法传参namespace ConsoleApplication1{ class Program { static void Main(string[] args) { TestParas tp =...阅读全文
posted @ 2012-11-23 00:36 Gabriel Zhang 阅读(1202) 评论(14) 编辑
摘要: 定义一个事件成员,表示该类型提供了如下功能:1.能够在事件中注册方法 2.能够在事件中注销方法 3.当事件发生时,注册的方法会被通知(事件内部维护了一个注册方法列表)CLR的事件模型是基于委托的,它可以通过类型安全的方式调用回调方法。而回调方法是订阅事件的对象接收通知的方式。通过一个例子来说明:①Fax对象的方法注册到MailManager事件 ②Pager对象的方法注册到MailManager事件 ③新的邮件到达MailManager ④MailManager对象向注册的方法发出通知,接收通知的方法可以随意处理。具体实现步骤如下:1.定义一个类型,能够hold住任何发送到事件通知接收者的信息阅读全文
posted @ 2012-11-14 22:31 Gabriel Zhang 阅读(1405) 评论(3) 编辑
摘要: 上周收到汤姆大叔的赠书《JavaScript编程精解》(顺风快递哦,大叔果然给力),迫不及待浏览了下,首先看到是各种对该书原著的赞誉,非常期待接下来的阅读体验。读完第一章,已经非常吸引我持续读下去。因为书里的内容很对我的胃口——简明扼要,把握细节。 这里我把自己觉得很细节,很重要的部分记录下来,以方便今后的学习和查阅,当然也希望给正在学习javascript的朋友一些方便。这里再次感谢大叔提供了这么好的javascript学习书籍,想学习javascript的同学,不要错过这本书哦 o(∩_∩)o一,javascript基础1.undefined和null:当使用var something;定阅读全文
posted @ 2012-11-02 18:30 Gabriel Zhang 阅读(1840) 评论(8) 编辑
摘要: 运算符重载方法一 些编程语言允许定义运算符如果操作类型的实例,例如System.String,System.Decimal,和System.DateTime,它们 重载了==和!=运算符。但是对于CLR来说,它是完全不知道像“==”和“!=”这些运算符是干什么的。编程语言定义了每一种运算符的意义以及当这些运 算符的符号出现时应该生成什么样的代码。例如C#里面,数值类型的当遇到“+”这个符号时,在编译时会生成将两个number加起来的代码,如果是 String类型遇到,则会将两个字符串拼接起来。CLR指定运算符重载方法必须是public和static,并且C#要求运算符方法的参数中至少有一个参数阅读全文
posted @ 2012-10-20 20:53 Gabriel Zhang 阅读(437) 评论(0) 编辑
摘要: 类型构造器也称为静态构造器,类构造器,或类型初始化器类型构造器可以用于接口(C#不允许这样做),引用类型,值类型。实例构造器用来设置一个类型某个实例的初始化状态,类型构造器用来设置一个类型的初始化状态。默认情况下,类型没有定义类型构造器。下面展示如何定义值类型和引用类型的构造器:internal sealed class SomeRefType { static SomeRefType() { } } internal struct SomeValType { static SomeValType() { ...阅读全文
posted @ 2012-09-18 17:46 Gabriel Zhang 阅读(1380) 评论(8) 编辑

