spf2011

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

2013年3月18日

摘要: 1方法背景结构化思想和面向对象思想虽都产生于20世纪60年代,但它们却存在根本差别。结构化方法承袭了传统的编程思想与编程方法,以计算机的计算功能为前提。编写程序的主要目的是数值计算、问题求解。模块是结构化编程的基本单位,但计算方法(简称为算法)是程序的核心。沃尔森曾提出了一个著名公式:程序=算法+数据结构。结构化方法只是对传统程序结构的改进,用三种基本结构来组织程序,使程序结构更为清晰,程序开发更有序、更容易。面向对象思想则以计算机信息处理和信息管理的功能为前提,模拟客观世界的事物及事物之间的联系。对象技术的关键概念是对象、消息、类,关键机制包括封装、多态和继承。与结构化方法相比,对象是软件模 阅读全文
posted @ 2013-03-18 20:41 spf2011 阅读(221) 评论(0) 推荐(0)

2011年4月3日

摘要: 1. 有关事件的重要事项:触发(raise)事件:调用(invoke)或触发(fire)事件的术语。当事件被触发时,所有注册到它的方法都会被依次调用。发布者(publisher):让事件被其他类或结构可见并使用的类或结构。订阅者(subscriber):让事件和发布者关联注册的类或结构。事件处理程序(even handler):注册到事件的方法。可以在事件所在的类或结构中,或者在不同的类或结构中。2. 需要在事件中使用的代码有5部分,这些组件如下所示:委托类型声明:事件和事件处理程序必须有共同的签名和返回类型,它们通过委托类型声明进行描述。事件处理程序声明:这些在订阅者类的方法(事件处理程序) 阅读全文
posted @ 2011-04-03 10:33 spf2011 阅读(165) 评论(0) 推荐(0)

2011年4月2日

摘要: 1. 委托是类型,与类一样,委托类型必须在被用来创建变量以及类型的对象之前声明。delegate void MyDel(int x); //声明委托类型MyDel delVar1,delVar2; //创建两个委托变量delVar1=new MyDel(myInstObj.MyM1); //创建委托并保存引用delVar2=myInstObj.MyM1; //创建委托并保存引用2. 委托是引用类型,我们可以通过给它赋值来改变在委托变量中的引用。旧的委托对象会被垃圾回收器回收。MyDel delVar=myInstObj.MyM1; //Create and assign the delete 阅读全文
posted @ 2011-04-02 10:29 spf2011 阅读(111) 评论(0) 推荐(0)

2011年4月1日

摘要: 1.ref 和out 关键字会导致参数通过引用来传递,不同之处在于ref 要求变量必须在传递之前进行初始化,而out 参数传递的变量不必在传递之前进行初始化,但被调用的方法需要在返回之前赋一个值。 若要使用ref 和out 参数,方法定义和调用方法都必须显式使用 ref 和out 关键字。 class Example { static void Method1(ref int i) { i = 5; } static void Method2(out int i) { i = 15; } static void Main() { int val1 = 0; Method1(ref val1); 阅读全文
posted @ 2011-04-01 14:55 spf2011 阅读(158) 评论(0) 推荐(0)

2011年3月31日

摘要: 1. readonly关键字比const灵活得多,允许把一个字段设置为常量,但可以执行一些运算,以确定它的初始值。2. 其规则是可以在构造函数中给只读字段赋值,但不能在其他地方赋值。3. 只读字段还可以是一个实例字段,而不是静态字段,类的每个实例可以有不同的值。4. 在构造函数中不必给只读字段赋值,如果没有赋值,它的值就是其数据类型的默认值,或者在声明时给它初始化的值。 阅读全文
posted @ 2011-03-31 22:16 spf2011 阅读(131) 评论(0) 推荐(0)

摘要: 静态构造函数只执行一次。编写静态构造函数的一个原因是,类有一些静态字段或属性,需要在第一次使用类之前,从外部源中初始化这些静态字段和属性。在C#中,静态构造函数通常在第一次调用类的成员之前执行。静态构造函数没有访问修饰符,其他C#代码从来不调用它,但在加载类时,总是由.NET运行库调用它,所以像public和private这样的访问修饰符就没有意义了。静态构造函数不能带任何参数,一个类也只能有一个静态构造函数。静态构造函数只能访问类的静态成员,不能访问实例成员。无参数的实例构造函数可以在类中与静态构造函数安全共存,尽管参数列表是相同的,但这并不矛盾,因为静态构造函数是在加载类时执行,而实例构造 阅读全文
posted @ 2011-03-31 22:14 spf2011 阅读(113) 评论(0) 推荐(0)

摘要: C#中string关键字的映射实际上指向.NET基类System .String 。使用string连接两个字符串实际上是创建了一个新字符串实例,把两部分内容复制到新字符串中。在StringBuilder上可以进行的处理仅限于替换和添加或删除字符串中的文本,但它的工作方式非常高效。StringBuilder类基本上应在处理多个字符串时使用,如果只是连接两个字符串,使用System.String会比较好。不能把StringBuilder转换为String。如果要把StringBuilder的内容输出为String,唯一的方式是使用ToString()方法。正则表达式示例:using System 阅读全文
posted @ 2011-03-31 21:50 spf2011 阅读(117) 评论(0) 推荐(0)