在程序中,进行类型转换是常见的事。那么在C#中支持以前语言的类型转换方法,即用类型名进行强行转换,例如:
object objTest = new NewType();
NewType newValue = (NewType)objTest;
但是这样转换,有个严重的问题,就是在把objTest强转换成NewType类型对象的时候,这个过程是不安全的,因此需要用try-catch语句来进行保护。这样一来,比较安全的代码方式应该如下所示。
object objTest = new NewType();
NewType newValue = null;
try
{
newValue = (NewType)objTest;
}
catch( Exception err )
{
MessageBox.Show( err.Message );
}
但是如上的写法在C#中已经属于过时的写法,而且也属于比较低效的写法。在C#中比较高效而

本文介绍了C#中as和is操作符在类型转换中的使用,强调它们相较于传统转换方式的安全性和效率优势。as操作符用于引用类型之间的转换,返回null表示转换失败,而is操作符则用于检查对象是否为特定类型,配合类型转换避免异常。同时,文章提到了as操作符的两个限制:不能跨类型转换和不能用于值类型,以及相应的解决策略。
最低0.47元/天 解锁文章
234

被折叠的 条评论
为什么被折叠?



