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.