值类型转换的几种方式

王朝学院·作者佚名  2016-05-17
窄屏简体版  字體: 小  |  中  |  大  |  超大  

值类型转换的几种方式引用类型的转换方式有隐式转换、强制转换、as转换等。值类型的转换方式也有不少,本篇稍稍归纳。

□ 隐式转换

int i = 10;

float f = i;

Console.WriteLine(f);

如果是值类型,当被转换变量的数值范围小于目标变量的数值范围,就可以实现隐式转换;如果是引用类型,子类可以隐式转换成父类。

□ 强制转换

float f = 10.56f;

int i = (int) f;

Console.WriteLine(i);

如果是值类型,当被转换变量的数值范围大于目标变量的数组范围,考虑使用强制转换;如果是引用类型,父类可以强制转换成某个子类。值得注意的是:强制转换可能会导致损失一些精度。

□ 通过System.Convert的静态方法实施转换

比如把一个整型转换成Sysem.Char类型。

char result = Convert.ToChar(68);

Console.WriteLine(result);

通过System.Convert转换失败会报OverflowException异常。

□ 通过值类型的静态方法

把字符串转换成int类型。

string str = "11";

int i = int.Parse(str);

Console.WriteLine(i);

如果字符串中包含非数字,会抛出System.FormatException异常。

string str = "11a";

int i = int.Parse(str);

Console.WriteLine(i);

如何避免这种情况呢?--使用int.TryParse方法可以避免这种情况。

PRe style="overflow: auto; border-top: #cecece 1px solid; border-right: #cecece 1px solid; border-bottom: #cecece 1px solid; padding-bottom: 5px;

 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
© 2005- 王朝網路 版權所有 導航