02 2014 档案

摘要:数组是允许将多个数据项当作一个集合来处理的机制。CLR支持一维数组、多维数组和交错数据(即由数组构成的数组)。所有数组类型都隐式地从System.Array抽象类派生,后者又派生自System.Object。这意味着数组始终是引用类型,是在托管堆上分配的。在你应用程序的变量或字段中,包含的是对数组的引用,而不是包含数组本身的元素。下面的代码更清楚的说明了这一点:Int32[] myIntegers; //声明一个数组引用myIntegers = new int32[100] //创建含有100个Int32的数组 在第一行代码中,myIntegers变量能指向一个一维数组(由Int32值构... 阅读全文
posted @ 2014-02-26 16:05 烧点饭 阅读(1712) 评论(0) 推荐(3) 编辑
摘要:一、枚举类型 枚举类型(enumerated types)定义了一组"符号名称/值"配对。 例如,以下Color类型定义了一组符号,每个符号都标识一种颜色:internal enum Color {While, //赋值0Red, //赋值1Green, //赋值2Blue, //赋值3Orange //赋值4} 使用枚举类型的好处: 1)枚举类型使程序更容易编写、阅读和维护。有了枚举类型,符号名称可在代码中随便使用,开发人员不需要记住每个硬编码的含义。而且,一旦与符号名称对应的值发生变化,代码也可以简单的... 阅读全文
posted @ 2014-02-25 14:14 烧点饭 阅读(2474) 评论(0) 推荐(0) 编辑
摘要:一、字符 在.NET Framewole中,字符总是表示成16位Unicode代码值,这简化了国际化应用程序的开发。 每个字符都表示成System.Char结构(一个值类型) 的一个实例。System.Char类型提供了两个公共只读常量字段:MinValue(定义成"\0")和MaxValue(定义成'\uffff')。 针对Char的一个实例,可以调用GetUnicodeCategory方法,这个方法返回的是System.Globalization.UnicodeCategory枚举类型的一个值。这个值支出该字符是控制字符、货币符号、小写符号、大写符号、标 阅读全文
posted @ 2014-02-24 12:40 烧点饭 阅读(1737) 评论(1) 推荐(2) 编辑
摘要:一、类和接口继承 在Microsoft.Net Framwork中,有一个名为System.Object的类,它定义了4个公共实例方法:ToString, Equals, GetHashCode和GetType。该类是其他所有类的根或者说最终基类。换言之,所有类都继承了Object的4个实例方法。这还意味着能操作Object类的实例的代码实际能操作任何类的实例。 在CLR中,任何类都肯定从一个类也只能从一个类(而且只能从Objetc派生的类)派生的。这个类称为基类。基类提供了一组方法签名和这些方法的实现。你定义的新类可在将来由其它开发人员用作基类——所有方法签名和方法实现都会由新的派生类继.. 阅读全文
posted @ 2014-02-20 15:40 烧点饭 阅读(1113) 评论(0) 推荐(0) 编辑
摘要:泛型(generic)是CLR和编程语言提供一种特殊机制,它支持另一种形式的代码重用,即"算法重用"。 简单地说,开发人员先定义好一个算法,比如排序、搜索、交换等。但是定义算法的开发人员并不设定该算法要操作什么数据类型;该算法可广泛地应用于不同类型的对象。然后,另一个开发人员只要指定了算法要操作的具体数据类型,就可以使用这个现成的算法了。 泛型有两种表现形式:泛型类型和泛型方法。 泛型类型:大多数算法都封装在一个类型中,CLR允许创建泛型引用类型和泛型值类型,但不允许创建泛型枚举类型。除此之外,CLR还允许创建泛型接口和泛型委托。 泛型方法:方法偶尔也封装有用的算法,所以C 阅读全文
posted @ 2014-02-18 16:57 烧点饭 阅读(1778) 评论(0) 推荐(0) 编辑
摘要:一、 设计要公开事件的类型 如果类型定义了事件成员,那么类型(或类型实例)就可以通知其他对象发生了一些特定的事情。 例如,Button类提供了一个名为Click的事件。应用程序中的一个或多个对象可能想接受这个事件的通知,以便在Button被单击之后采取某些操作。事件就是实现这种交互的类型成员。 ... 阅读全文
posted @ 2014-02-17 15:39 烧点饭 阅读(967) 评论(0) 推荐(1) 编辑
摘要:一、无参属性 对于字段,强烈建议将所有的字段都设为private。如果允许用户或类型获取或设置状态信息,就公开一个针对该用途的方法。封装了字段访问的方法通常称为访问器(accessor)方法。访问器方法可选择对数据的合理性进行检查,确保对象的状态永远不被破坏。如下代码: private sealed class Employee { private String m_Name; private Int32 m_Age; public String GetName(){ return m_Name; }... 阅读全文
posted @ 2014-02-12 14:37 烧点饭 阅读(924) 评论(0) 推荐(0) 编辑
摘要:一、可选参数和命名参数 在设计一个方法的参数时,可为部分或全部参数分配默认值。然后,调用这些方法的代码时可以选择不指定部分实参,接受默认值。此外,调用方法时,还可以通过指定参数名称的方式为其传递实参。比如:internal static class Program { private static Int32 s_n = 0; private static void M(Int32 x=9, String s = "A",DateTime dt = default(DateTime), Guid guid = new Guid()) { Console.WriteLi... 阅读全文
posted @ 2014-02-11 13:39 烧点饭 阅读(723) 评论(0) 推荐(0) 编辑
摘要:一、实例构造器和类(引用类型) 类实例构造器是允许将类型的实例初始化为良好状态的一种特殊的方法。 类实例构造器方法在"方法定义元数据表"中始终叫.ctor(代表constructor)。创建一个引用类型的实例时,首先为实例的数据字段分配内存,然后初始化对象的附加字段(类型对象指针和同步块索引),最后调用类型的实例构造器来设置对象的初始化状态。 构造引用类型的对象时,在调用类型的实例构造器之前,为对象分配的内存总是先被归零。构造器将没有显式重写的所有字段保证都有一个0或null值。 与其他方法不同,实例构造器永远不能被继承。也就是说,类只有类自己定义的实例构造器。 如果你定义 阅读全文
posted @ 2014-02-10 11:59 烧点饭 阅读(972) 评论(2) 推荐(0) 编辑

点击右上角即可分享
微信分享提示