关于类型转换方面的备忘
()强制转换运算符
比如:(string)a
特点:
1,类型转换失败会抛出异常InvalidCastException
2,只要类型转换成立,null值不会抛出异常
Convert类转换
特点:
1,null值不会抛出异常,比如Convert.ToString(null)会返回String.Empty
2,由于格式不对,可能会抛出FormatException
as类型转换运算符
特点:
1,永远不会抛出异常
2,输入null值或者转换失败都会返回null
其他备忘:
typeof()运算符可返回类的类型
is运算符可以在强制转换前判断是否能成功转换
ToString()函数,由于ToString在object定义了,所以任何类型都能调用,很方便。但是有一点很讨厌,
类的实例不能为null,否则会抛出异常
DBNull值,从数据库会读出来这个值,这个值可以安全的调用ToString()或者Convert.ToString,都会返回String.Empty
需要注意的是用Convert类其他的函数时,碰到这个值会抛出异常,比如:Convert.ToDouble(Convert.DBNull)