读书人

C#类型转换面试题,该如何解决

发布时间: 2012-06-09 17:16:42 作者: rapoo

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; 

读书人网 >C#

热点推荐