摘要: 特殊的Stringstring不是用newobj指令创建,而是用ldstr指令创建在类型表现上面string为值类型语义,在内存上面string为引用类型,存储在托管堆上面两次创建内容相同的string对象可以指向相同的内存地址String是密封的不能被子类继承String是夸程序域的可以在不同的程序域里面访问字符串恒定行,是指字符串已经创建就不能更改,字符串驻留机制 string strA = "abcdef"; string strB = "abcdef"; Response.Write(ReferenceEquals(strA, strB)); / 阅读全文
posted @ 2014-01-23 16:54 瀚海行舟 阅读(113) 评论(0) 推荐(0) 编辑
摘要: 对象判等主要包含了四种方法1. public virtual bool Equals(object obj) 虚方法比较对象实例是否相等2.public static bool Equals(object objA,object objB) 静态方法比较对象实例是否相等3. public static bool ReferenceEquals(object objA,object objB) 静态方法比较两个引用是否相等4.==比较对象实例是否相等判等解析1. 静态方法Equals(object objA,object objB)的判等public static bool Equals(obj 阅读全文
posted @ 2014-01-23 16:53 瀚海行舟 阅读(98) 评论(0) 推荐(0) 编辑
摘要: Object是所有类型的基础类型,提供了的一些基础的方法主要有GetRype2.Equals,RefernceEquals,==ToStringGetHashCodeFinalize因为这些是object提供的方法,所有在所有的类型中都可以使用其中GetHashCode,Tostring,Equals是虚方法可以在子类中重写 阅读全文
posted @ 2014-01-23 16:52 瀚海行舟 阅读(91) 评论(0) 推荐(0) 编辑
摘要: namespace NetNiBiXiuZhiDao{ public partial class WebForm13 : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { List uer = new List(); uer.Add(new UserLi() { Age = 1, Name = "Elong" }); uer.Add(new UserLi() { Age = 3, Name = "Tuan" }); uer.Add(new UserLi( 阅读全文
posted @ 2014-01-23 16:51 瀚海行舟 阅读(109) 评论(0) 推荐(0) 编辑
摘要: 静态方法或属性,是基于类的(通过类直接调用),非静态方法或属性,是基于类的实例的,通过类的new实例调用静态类与实例无关所以不能实例化静态够着函数用于初始化类中的静态成员(静态属性,静态方法),静态构造函数不能带参数不能有访问修饰符不能个被调用(net在运行库第一次调用类之前执行)只执行一次,一个类只能有一个静态构造函数构造函数的执行顺序,分配静态成员的内存空间------执行静态成员初始化-------执行静态构造函数------分配实例对象内存空间-------执行实例成员的初始化----执行实例构造函数静态成员实现类的数据共享,因为和实例无关静态成员之和类相关,无论创建多少个实例,静态成 阅读全文
posted @ 2014-01-23 16:50 瀚海行舟 阅读(88) 评论(0) 推荐(0) 编辑
摘要: 浅拷贝:(shallow copy)深拷贝:(deep copy)性能问题,深拷贝要对整个结构树拷贝,性能影响较大可行性,对整个结构树拷贝,在很多情况下不能实现稳定性,某些字段涉及循环,深拷贝可能进入死循环简单,浅拷贝在实现上面比较的简单String(是引用类型的深拷贝实例)浅拷贝:只要调用继承来的MenberwiseClone()方法就可以啦深拷贝:要new一个新的对象,然后把内容全部添加进去namespace NetNiBiXiuZhiDao{ public partial class WebForm11 : System.Web.UI.Page { protected void Page 阅读全文
posted @ 2014-01-23 16:49 瀚海行舟 阅读(157) 评论(0) 推荐(0) 编辑
摘要: Is和asIs:检查对象类型的兼容性,并返回true或则false,如果对象是null就一直返回false不会抛异常As:检验类型的兼容性,并返回结果,如果不兼容就返回null,不会抛异常(必须和引用类型一起使用) WebForm10 bfr =new WebForm10(); Object o = bfr as Object; if (o is WebForm10) { Response.Write("22"); } if (bfr != null) { Response.Write("11"); } 阅读全文
posted @ 2014-01-23 16:48 瀚海行舟 阅读(100) 评论(0) 推荐(0) 编辑
摘要: 【多态】: 通过继承实现的不同对象调用相同的方法,表现出不同的行为,称之为多态【class】所有的类都最终继承自System.Object类,因此是一种引用类型1.class是引用类型,继承自System.Object类;struct是值类型,继承自System.ValueType类,因此不具多态性。但是注意,System.ValueType是个引用类型。2.从职能观点来看,class表现为行为;而struct常用于存储数据。3.class支持继承,可以继承自类和接口;而struct没有继承性,struct不能从class继承,也不能作为class的基类,但struct支持接口继承4.clas 阅读全文
posted @ 2014-01-23 16:47 瀚海行舟 阅读(100) 评论(0) 推荐(0) 编辑
摘要: 静态常量Const(常量),动态常量,readonly(只读)常量在定义时必须初始化不能用new初始化常量,因为常量的值在编译期就必须确定,而new是在运行期才确定的Readonly不能用作局部变量,const可以用作字段和局部变量通过程序得到结论public partial class WebForm9 : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { UserInfo usif = new UserInfo(); Response.Write(UserInfo.Name+"& 阅读全文
posted @ 2014-01-23 16:46 瀚海行舟 阅读(100) 评论(0) 推荐(0) 编辑
摘要: Checked/unchecked用于检测整形是否溢出Yield用于在迭代中像枚举器对象提供值或发出结束信号,yield return用于返回每个元素,yield break终止迭代public partial class WebForm9 : System.Web.UI.Page{protected void Page_Load(object sender, EventArgs e){UserInfo use = new UserInfo();foreach (string str in use){Response.Write(str);}}}class UserInfo{string[] 阅读全文
posted @ 2014-01-23 16:45 瀚海行舟 阅读(96) 评论(0) 推荐(0) 编辑