读书笔记之C#的is和as操作符强制类型转换收藏

isBooleantruefalseis

if(o is Employee)...{

Employee e=(Employee) o;

}

CLRisoEmployeeifCLRoEmployeeCLRCLRoCLR(Employee)

Employee e=o as Employee;

if(e!=null)

...{}

CLRoEmployee;asnulloEmployeeasnullasCLRifenull.

asnullnullSystem.NullReferenceException

c# isas

isas2

istruefalsetruefalseis

System.Boolean b1 = (o is System.Object);//b1 true

System.Boolean b2 = (o is Employee);//b2falsenullisfalse

if(o is Employee) {

Employee e = (Employee) o;

//ife

}clrisoemployeeifclroEmployeec#as,

Employee e = o as Employee;

if(e != null)

{

//ife

}as1

.net

c#isas2008-03-18 18:43is as

is : ,Bool,

object o = new object();

if (o is Label)

{

Label lb = (Label)o;

Response.Write("");

}

else

{

Response.Write("");

}

,CLR,is,oLable,(Label)o,,

 

as:,,,null

object o = new object();

Label lb = o as Label;

if (lb == null)

{

Response.Write("");

}

else

{

Response.Write("");

}

,CLR, is

 

eg

_DoubleClick(object sender, EventArgs e)

{

(e as MouseEventArgs).Button == MouseButtons.Left;

}

posted @ 2009-06-29 17:09  William Zhao  阅读(167)  评论(0编辑  收藏  举报