.NET Is 和 As 的区别
摘要:is 和 as 操作符是用来进行强制类型转换的is : 检查一个对象是否兼容于其他指定的类型,并返回一个Bool值,永远不会抛出异常 object o = new object(); if (o is Label) { Label lb = (Label)o; Response.Write("类型转换成功"); } else { Response.Write("类型转换失败"); }在上面的代码,CLR实际上会检查两次对象的类型,is操作符先核实一次,如果o兼容于Lable,那么在(Label)o时会再次核实一次,效率比较低,不建议使用as:与强制类型转
阅读全文
posted @
2011-11-19 17:29
John Liang
阅读(497)
推荐(0)
类与结构的差别
摘要:1.值类型与引用类型 结构是值类型:值类型在堆栈上分配地址,所有的基类型都是结构类型,例如:int对应System.int32结构,string对应system.string结构,通过使用结构可以创建更多的值类型 类是引用类型:引用类型在堆上分配地址 堆栈的执行效率要比堆的执行效率高,可是堆栈的资源有限,不适合处理大的逻辑复杂的对象。所以结构处理作为基类型对待的小对象,而类处理某个商业逻辑 因为结构是值类型所以结构之间的赋值可以创建新的结构,而类是引用类型,类之间的赋值只是复制引用 注: (1).虽然结构与类的类型不一样,可是他们的基类型都是对象(object),c#中所有类型的...
阅读全文
posted @
2011-11-19 17:28
John Liang
阅读(220)
推荐(0)