[Note]CLR via C#3-Type Fundamentals

Content:

  • as vs. is
  • Namespace and assembly
AS vs. IS:
common operation in our code:
if(o is MyDeteminedType)
{
  MyDeteminedType newOne=(MyDeteminedType)o;
yeah,this works well as we expected. but it makes the clr check the type twice for security. so it got some performance issues. a better one for this is using as. the following demostrates how it works:
MyDeteminedType newOne= o as MyDeteminedType;
if(newOne!=null)
{
  //do something you want here
}
it got the same destination as the IS did above but with checking the type for once and better performance.
the relationship between the namespace and assembly:
acctually,they are not necessarily related. 
a various types in a single namespace can be implemented in different assemblies.
a single can contain types in different namespaces.
it is the namespace that the type belongs to.
it is the assembly that the type is implemented in.

转载于:https://www.cnblogs.com/sanjia/archive/2011/08/15/2139980.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值