10 2012 档案
强制类型转换符 和 as 运算符
摘要:as运算符 如果类实现了接口,表达式返回只想接口的引用 如果类没有实现接口,表达式返回null而不是抛出异常 阅读全文
posted @ 2012-10-20 19:46 小小五 阅读(222) 评论(0) 推荐(0)
抽象成员 虚方法
摘要:虚方法基类中定义的方法为虚方法时,派生类override虚方法,使用基类的引用访问派生类成员时,可以上升到派生类内部覆写和被覆写方法必须具有相同的访问性,不能覆写static方法或非虚方法抽象成员只能被声明在抽象类中抽象类可以包含非抽象成员抽象类可以派生自另外一个抽象类任何抽象类的派生类都必须实现抽象类中所有的方法,除非派生类也是抽象类 阅读全文
posted @ 2012-10-16 21:14 小小五 阅读(150) 评论(0) 推荐(0)
默认构造函数
摘要:只有当类中没有显示声明类的构造函数时,编译器会提供一个隐式的默认构造函数,没有参数,方法体为空但当类中存在实例构造函数的声明时,不能显示用默认构造函数实例化类对象,因为编译器检测到,有显示声明的构造函数就不会再创建默认构造函数,所以会出错 阅读全文
posted @ 2012-10-15 22:18 小小五 阅读(169) 评论(1) 推荐(0)
属性 字段
摘要:属性 类似于方法,不为数据分配内存,执行代码,访问器只是处理传进来的数据,并将处理后的数据传出 通常将属性与字段相关联,将字段声明为private,属性声明为共有的,以此通过属性的访问器来控制对字段的赋值 get和set访问器必须存在一个 通常在三层中的model层中,用来封装字段自实现属性 不需要与属性匹配的字段即所谓的后备字段 不提供访问器的方法体 阅读全文
posted @ 2012-10-15 22:11 小小五 阅读(194) 评论(0) 推荐(0)
常量 readonly字段
摘要:常量 : 用const关键字 必须放在类型的前面声明时必须初始化,初始化值在编译时决定,值多为预定义简单类型或又预定义类型组成的表达式,可以为null引用,但不能为其他对象的引用,因为常量的值必须在编译时决定,而对象的引用在运行时决定初始化之后值不能改变常量没有自己的存储位置,在编译时,由编译器替换本地常量 作用于在所属的块内成员常量 对所有类的实例可见,即使没有类的实例,也可用类名加点常量名来使用常量readonly字段 可以先声明后初始化,但必须在构造函数中初始化,若为静态的,则必须在静态构造函数中初始化可以在编译时决定,也可以在运行时决定,可以是实例字段,也可以是静态字段 (实... 阅读全文
posted @ 2012-10-14 20:36 小小五 阅读(203) 评论(0) 推荐(0)
static静态类 静态函数 静态字段
摘要:所有带有static标记的都独立于实例,与实例无关,所谓的静态是相对于多态而言的,即对于不同的实例,不能表现出不同的状态1.static静态类所有成员必须是静态的可以有静态的构造函数,但不能有实例构造函数,即不能创建该类的实例静态类不能被继承用途:用于分组不受实例影响的数据和函数创建一个包含数学方法的数学库,sqlhelper2.静态类成员(所有的类成员不管是引用类型还是值类型都存储在堆中)静态字段: 被类所有的实例共享所有的实例都访问相同的内存位置,任何类的实例化对象都可以改变该静态字段的值,且对所有的实例是可见的 因静态字段和类的实例无关,所以通过类名加点直接访问静态函数:静态函数只能访问 阅读全文
posted @ 2012-10-12 10:08 小小五 阅读(225) 评论(0) 推荐(0)
c#引用参数ref与输出参数out
摘要:1.ref标记的参数即引用参数 使用时必须在方法的声明调用时都是用ref修饰符,实参必须是变量, 在使用前必须被赋值,若是引用类型,则可为其赋值为null或者新的对象对于方法声明中用ref声明的形参,没有在栈中分配新的内存,形参和实参引用相同的内存2.out标记的参数即输出参数主要用于向调用该方法的语句传出数据使用时必须在方法的声明调用时都是用out修饰符实参必须是变量,不能用表达式表示,只需声明,赋值没有必要在方法内部,对out参数的所有操作前,必须为其赋值,因此为实参赋值是没有意义的;在方法体结束前必须为out参数赋值对于方法声明中用out声明的形参,没有在栈中分配新的内存,形参和实参引用 阅读全文
posted @ 2012-10-10 22:51 小小五 阅读(214) 评论(0) 推荐(0)
string与StringBulider的区别
摘要:1.c#中的预定义类型string对应于.NET中的System.String类,是不可变的uncoide字符串数组,一旦赋值后便不能修改 所有string类型的成员,对string对象的操作都不很影响原来的值,因为他们操作的是对象值的副本,每次操作如增加,删除时都是创建了新的对象,分配了新的内存2.StringBuilder类在命名空间System.Text空间中,是unicode字符的可变数组,可以被修改,当创建StringBuilder对象之后,类分配了一个比当前字符串长度更长的缓冲区,只要缓冲区能容纳字符串的改变就不会分配新的内存。如果对字符串的操作所用的空间比缓冲区的空间多,就会分配 阅读全文
posted @ 2012-10-10 22:15 小小五 阅读(219) 评论(0) 推荐(0)
C#数据类型
摘要:c#数据类型包括c#预定义类型和用户自定义类型1.c#预定义类型简单类型 数值类型包括浮点类型和整数类型 非数值类型包括bool类型和char类型 string类型:unicode字符数组object类型:所有其他类型的基类ps.所有的预定义类型直接映射到底层的.net类型如int(c#) ---->System.Int32(.net)2.用户自定义类型 类类型 结构类型 数组类型 枚举类型 委托类型接口类型ps.用户自定义类型的声明 类型的种类、名称、类型成员的声明(不含命名成员的除外,如delegate和数组)二者区别:预定义类型只需要实例化,而用户自定义类型要先声明然后才能实例化 阅读全文
posted @ 2012-10-06 22:25 小小五 阅读(195) 评论(0) 推荐(0)