隐式转换指不需要特别声明即可在所有情况下进行的转换,这是系统的默认转换方式。在进行隐式转换时,编译器不需要进行检查就能实现安全的转换处理。C#的隐式转换一般不会失败,也不会导致信息丢失。例如,下面的代码从int类型隐式转换成了long类型。
在C#中的简单类型有许多隐式转换,但是其中的bool和string是没有隐式转换的。编译器可以隐式执行的数值转换类型如表3-5所示。
表3-5 C#可隐式转换的数值类型列表
注意
不存在char类型的隐式转换,所以其他整形值不会自动转换为char类型。另外,读者不需要强记表3-5的内容,只需牢记各类型的取值范围即可。因为对于任何类型A,只要其取值范围被完全包含在类型B的取值范围内,就可以隐式地将类型A转换为类型B。
实例2:使用隐式转换
下面通过一个具体的实例来说明C#隐式转换的具体效果。本实例保存在“光盘:\daima\3”文件夹内,项目名为Yinshi。具体实现流程如下:
1)打开Visual Studio 2010,依次单击“新建”∣“项目”选项,弹出“新建项目”对话框,如图3-4所示。
(www.xing528.com)
图3-4 “新建项目”对话框
2)选择“控制台应用程序”选项,设置“名称”为YinshiZhuanhuan,然后单击“确定”按钮进入代码界面。
3)输入对应的代码,项目文件Program.cs整理后的主要代码如下:
在上述实例代码中,设置了四个不同类型的变量,具体说明如下。
变量aa:类型为byte,并设置其值为“100”。
变量bb:类型为int,并将变量mm隐式转换为int类型。
变量cc:类型为long,并将变量nn隐式转换为zz类型。
变量dd:类型为double,并将变量zz隐式转换为ff类型。
实例的最终输出结果是四个变量的值相同,实现了隐式转换,结果如图3-5所示。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。