C#类型转换面试题
大概意思是这样的
MyType a = myObjects as MyType;
MyType b = (MyType)myObjects;
这2个哪个好,什么时候用哪个。
还有一个C++的
int main()
{
第一行。。.........
}
程序编译成功,有什么情况会可能使程序运行不到第一行就崩溃了。
------解决方案--------------------
MyType a = myObjects as MyType;
这个好;
当 myObjects 不能转换成MyType 时,不会抛出异常;而是返回null;
MyType b = (MyType)myObjects; 不能转换时抛出异常
------解决方案--------------------
显示转换:也称强制类型转换。不能保证数据的正确性。
(type)(表达式)
is操作符进行转换,自动检查时局是否和类型兼容,并返回结果。而且它不会抛出异常。如果对象引用为null,则is总返回false
as检查引用对象是否兼容,如果不兼容则返回null,因此需要做null的判断
------解决方案--------------------C# code
MyType a = myObjects as MyType;
MyType b = (MyType)myObjects;