读书笔记之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;
}