您的位置:首页 > 编程语言 > C#

C# as与is的用法

2015-07-20 09:51 295 查看
类型转换

任何类型都可以转换为其基类类型,用隐式转换完成;

任何类型转换为其派生类型时,必须进行显示转换。如:(类型名)对象名;

使用GetType可以取得任何对象的精确类型;

基本类型可以使用Convert类实现类型转换;

除了string以外的其他类型都有Parse方法,用于将字符串类型转换成对应的基本类型;

值类型和引用类型的转换称为装箱(boxing)或拆箱(unboxing);

as/is示例

is转换规则:

检查对象类型的兼容性,并返回结果true(false);

不会抛出异常;

如果对象为null,刚返回false;
示例:

object o = "abc";
if (o is string) //执行第一次类型兼容性检查
{
string s = (string)o; //执行第二次类型兼容性检查,并转换
MessageBox.Show("转换成功!");
}
else
{
MessageBox.Show("转换失败!");
}


as转换规则:

检查对象类型的兼容性,并返回转换结果,如果不兼容则返回null;

不会抛出异常;

如果结果判断为空,则强制执行类型转换将抛出NullReferenceException异常; 示例:

object o = "abc";
string s = o as string; //执行第一次类型兼容性检查,并返回结果
if (s != null)
MessageBox.Show("转换成功!");
else
MessageBox.Show("转换失败!");


as比is少执行一次兼容性检查,性能可能会高一点点。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: