is和as

来源:http://www.venoautomotive.com 作者:www.463.com 人气:116 发布时间:2019-12-28
摘要:1   概述 1.1  领会有关基本概念 a.隐式调换:对于值类型,低精度=高精度。eg:int=long;对于引用类型,子类向祖宗类转换进程。eg:对象=Object。 b.展现转变:展现转变是隐式调换的逆进

1   概述

1.1  领会有关基本概念

a.隐式调换:对于值类型,低精度=>高精度。eg:int=>long;对于引用类型,子类向祖宗类转换进程。eg:对象=>Object。

b.展现转变:展现转变是隐式调换的逆进程。

c.拆箱与装箱。

d.GetType获取对象类型( System.Object.ReferenceEquals(Object obj1,Object obj2卡塔尔(قطر‎) 。

e.基本类型:Convert类。

f.Parse()

is和as。g.ToString()

is和as。is和as。is和as。1.2  为何要用is和as

is和as。       在类型转变时,对于事情未发生前并不知对象的求实品种时,为了制止转变战败以致系统崩溃难题,大家平日在轻易并发难点要么有望现身难题(那时候并不可能分明是或不是会爆发非常)之处,用try......catch.....finally....来避开程序崩溃等主题素材,当然如此做也便于测量试验,那正是is和as的效能之风流倜傥,除外,对系统实行质量优化时,能不用try....catch....就硬着头皮不用,is和as满意这风流倜傥尺度。

2   示例

2.1  is用法

       is判定有些对象是还是不是相称另三个指标。恒久不会抛出十三分。其回到值类型为布尔类型,若包容,则赶回true;若不匹配,则为false;若对象为空null,则为false。平常布局如下:

1 if (A is B)//第一次兼容检查
2     {
3        B  b=(B)A;//第二次兼容检查
4     }A
5 
6 分析:对于is,CLR会进行2次兼容性检查,第一次判断A is B,若为真,则再次进行兼容检查B b=(B)A;

例1:兼容

 1 Label lbl = new Label();
 2 if (lbl is Object)
 3 {
 4 Object objLbl = (Object)lbl;
 5 Response.Write("true");
 6 }
 7 else
 8 {
 9 Response.Write("false");
10 }
11 
12 测试结果为:true

例2:不兼容

 1 Label lbl = new Label();
 2 if (lbl is TextBox)
 3    {
 4        Response.Write("true");
 5     }
 6 else
 7     {
 8         Response.Write("false");
 9      }
10 测试结果为:false

例3:对象为NULL

 1 Label lbl = null;
 2 if (lbl is Object)
 3   {
 4       Response.Write("true");
 5   }
 6 else
 7   {
 8       Response.Write("false");
 9    }
10 测试结果:false

2.2   as用法 

        as判别某些对象是不是合营另一个指标。永久不会抛出特别,若包容,则赶回结果;若不相配,则赶回null;若为空,则赶回null。

例1:兼容

1 Label lbl1 = new Label();
2  Label lbl2 =lbl1 as Label;
3  Response.Write(lbl2);//System.Web.UI.WebControls.Label 

例2:不兼容

1 string str = "AS转换";
2  Label lbl = str as Label;//显示编译错误
3  Response.Write(lbl);

例3: 对象为NULL

1 Object obj = null;
2  Label lbl = obj as Label;
3  Response.Write(lbl);//null

2.3   is和as比较  

       由于CLWrangler对is会实行三回检查,对as只举行二回检查,故as效用要高级中学一年级些,日常景观下,使用as而不使用is.

3   参谋文献

【01】 

4   版权

 

  • 多谢您的读书,若有白璧微瑕,迎接指教,合作学习、协同提升。
  • 博主网站:
  • 极少一些小说利用读书、仿照效法、援引、抄袭、复制和粘贴等各个方法结合而成的,超越二分之一为原创。
  • 如你心爱,麻烦推荐一下;如您有新主张,款待建议,邮箱:2015177728@qq.com。
  • 能够转发该博客,但必须要有名博客来源。

本文由永利官网误乐域发布于www.463.com,转载请注明出处:is和as

关键词:

上一篇:www.463.comSolaris10 安装

下一篇:没有了

频道精选

最火资讯