.NET的类型转换分四类:隐式转换、显式转换,即强制转换、用户定义的转换和使用帮助程序类的转换...Parse方法和Convert类的转换方法都属于使用帮助程序类的转换,as运算符属于显式转换...而ToString方法不属于类型转换...要想知道它们的本质区别,你得先知道数据类型的本质,先弄清楚引用类型和值类型的本质...另外还得明白一个对象的值和该值的字符串表示形式(如果有的话)两者的关系...这些基础知识最好去看MSDN,隐式转换和显式转换的转换表也能在MSDN中查到...Parse方法一般都是将某类型值的字符串表示形式转换为该类型的值...与其说是转换不如说是解析,如果你英文不太糟糕的话从Parse这个词的字面意思也能明白...Convert类提供一系列将一个基本数据类型转换为另一个基本数据类型的方法...也就是说转换仅限于CLR提供的基本数据类型并且遵循预设的转换规则...as运算符用于在兼容的引用类型之间执行某些类型的转换,也就是说转换仅限于引用转换和装箱转换并且只能转换可以兼容的类型,如有继承关系的类等...ToString方法返回一个字符串,至于这个字符串是什么就不一定了...除非重写或重载此方法,默认只返回类型的完全限定名...对重写或重载了该方法的类型,则可能由当前UI区域性或附加参数决定它的输出内容和格式...
解决方案 »
- asp.Net数据导出问题 急急急
- 我是菜鸟,求助c#自动打开邮件问题
- 控制台应用程序 怎么 调用一个 WebService 啊
- 用teechart如何同时绘制两条曲线?在线等!!!
- 有事件能捕捉 WInForm datagrid中 单元格的值 发生改变吗?在线等
- 急!!!请问在C#里面如何利用MSMQ向同样在一个工作组里面的计算机发送消息??
- .net如何获取上传进度信息
- 语音阅读每次会加上语音包的说明
- 弱问:什么是宏(macro)怎么利用宏,宏在.net的主要作用是什么
- 现在学.Net需要WindowsAPI的基础吗?
- 关于第三方控件的问题
- 请问.Net Client Data Provider'='附近有语法错误是什么意思啊?
说的一大堆 其实一两句话 解释的了的
int。parse 适用于 int类型 COnvert 是强类型转换 把 一个 int 转成 string 至于 AS 是一种表达式 把对象 转成 string 等等 Tostring 用的是最多的 ,几乎获取 文本框里值的时候 用的都是这个方法 就是转换成String
而比如convert.toin32转换的类型比较多,它其实也调用了int.parse
public static int ToInt32(string value)
{
if (value == null)
{
return 0;
}
return int.Parse(value);
}
真正的转换工作还是由XXX.Parse()方法完成,Convert.ToXXX()是Facade模式的一个应用。
再说说as,"as"是C#的一个关键字,用来进行类型转换,它的特点是如果转换失败,只返回结果null,而不会抛异常。最后说说ToString(),实质上讲,这不能算是一种转换,ToString()只是对象的一个方法,通过执行这个方法,对象会返回一个字符串出来,仅此而已。当然,如果一个对象返回的字符串正好能描述那个对象,人们就认为这个方法把对象“转换”成字符串了。上面内容不是很详细,但应该够你用来比较“本质区别”了。
Convert.提供了一系列的类型转换 .ToInt32(),.ToInt64(),.ToDouble(),.ToDateTime()...
as运算符用于在兼容的引用类型之间执行某些类型的转换
is 多用于对象之间存在一定关系的转换
toString()是基类所提供的一个方法
参数为object;
int.Parse 参数为 null 时,抛出异常。
显示转换:也称强制类型转换。不能保证数据的正确性。
(type)(表达式)
as 运算符用于执行引用类型的显式类型转换。 如果要转换的类型与指定类型兼容,转换就会成功;如果类型不兼容,则返回null
TiString可重写,并可格式化