|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
竟发现没有太大的帮助。总觉得要用起来,感觉到不了位。因为公司机器的原因,一直没有安装vs.net(也从来没有用过)。以前做asp的时候一直用DW(感觉其代码联想功能不错),可现在到了asp.net却不习惯了。系列文章目次索引:《你必需晓得的.NET》
本文将先容以下内容:
•范例转换
•is/as操纵符小议
1.弁言
范例平安是.NET计划之初重点思索的内容之一,关于程序计划者来讲,完整掌控体系数据的范例平安,常常是力所能及的成绩。如今,这统统已在微软年夜牛们的计划框架中为你办理了。在.NET中,统统范例都必需集成自System.Object范例,因而我们能够很简单的取得对象的正确范例,办法是:GetType()办法。那末.NET中的范例转换,应当思索的中央有那些呢?
2.观点引进
范例转换包含显现转换和隐式转换,在.NET中范例转换的基础划定规矩以下:
- 任何范例都能够平安的转换为其基类范例,能够由隐式转换来完成;
- 任何范例转换为其派生范例时,必需举行显现转换,转换的划定规矩是:(范例名)对象名;
- 利用GetType能够获得任何对象的准确范例;
- 基础范例可使用Covert类完成范例转换;
- 除string之外的其他范例都有Parse办法,用于将字符串范例转换为对应的基础范例;
- 值范例和援用范例的转换机制称为装箱(boxing)和拆箱(unboxing)。
3.道理与示例申明
浅谈了范例转换的几个广泛存眷的方面,该将次要精神放在is、as操纵符的恩仇情仇上了。范例转换将是个较年夜的话题,留于得当的机会会商。
is/as操纵符,是C#顶用于范例转换的,供应了对范例兼容性的判别,从而使得范例转换把持在平安的范围,供应了天真的范例转换把持。
is的划定规矩以下:
- 反省对象范例的兼容性,并前往了局,true大概false;
- 不会抛出非常;
- 假如对象为null,则前往值永久为false。
其典范用法为:
1
<br>objecto=newobject();
2
<br>
3
<br>classA
4
<br>
5
<br>
<br>
<br>{
6
<br>
7
<br>}
8
<br>
9
<br>if(oisA)//实行第一次范例兼容反省
10
<br>
11
<br>{
12
<br>
13
<br>Aa=(A)o;//实行第二次范例兼容反省
14
<br>
15
<br>}
16
<br>
17
<br>as的划定规矩以下:
- 反省对象范例的兼容性,并前往了局,假如不兼容就前往null;
- 不会抛出非常;
- 假如了局判别为空,则强迫实行范例转换将抛出NullReferenceException非常。
其典范用法为:
1
<br>objecto=newobject();
2
<br>
3
<br>classB
4
<br>
5
<br>
<br>
<br>{
6
<br>
7
<br>}
8
<br>
9
<br>Bb=oasB;//实行一次范例兼容反省
10
<br>
11
<br>if(b!=null)
12
<br>
13
<br>{
14
<br>
15
<br>MessageBox.Show("bisB"sinstance.");
16
<br>
17
<br>}
18
<br>
19
<br>4.结论
纵上对照,is/as操纵符,供应了加倍天真的范例转型体例,可是as操纵符在实行效力上更胜一筹,我们在实践的编程中应当体味其异同,酌情量才。
<br>
参考文献:
(USA)JeffreyRichter,AppliedMicrosoft.NETFrameworkProgramming
(USA)StanleyB.Lippman,C#Primer
|
|