欢迎来到入门教程网!

C#教程

当前位置:主页 > 软件编程 > C#教程 >

C#自动类型转换与强制类型转换的讲解

来源:本站原创|时间:2020-01-10|栏目:C#教程|点击:

自动类型转换

隐式类型转换 - 这些转换是 C# 默认的以安全方式进行的转换, 不会导致数据丢失。例如,从小的整数类型转换为大的整数类型,从派生类转换为基类。

转换规则

从存储范围小的类型到存储范围大的类型。

整数具体规则为:

         byte→short(char)→int→long→float→double

也就是说byte类型的变量可以自动转换为short类型,示例代码:

     byte b = 10;
     short sh = b;

在类型转换时可以跳跃。示例代码:

     byte b1 = 100;            
     int n = b1;

强制类型转换

显式类型转换 - 显式类型转换,即强制类型转换。显式转换需要强制转换运算符,而且强制转换会造成数据丢失。

转换规则

从存储范围大的类型到存储范围小的类型。

具体规则为:

         double→float→long→int→short(char)→byte

例如:

double d = 5673.74;
int i;
i = (int)d;

1.Convert.ToInt32()       2.  int.Parse()

Convert.ToInt32() 则可以将多种类型(包括 object  引用类型)的值转换为 int  类型,因为它有许多重载版本:

  •     public static int ToInt32(object);
  •     public static int ToInt32(bool);
  •     public static int ToInt32(byte);
  •     public static int ToInt32(char);
  •     public static int ToInt32(decimal);
  •     public static int ToInt32(double);
  •     public static int ToInt32(short);
  •     public static int ToInt32(long);
  •     public static int ToInt32(sbyte);
  •     public static int ToInt32(string);

Int32.Parse()表示将包含数字的字符串转换为32 位有符号整数,属于内容转换

  •     如果 string 为空,则抛出 ArgumentNullException 异常;
  •     如果 string 格式不正确,则抛出 FormatException 异常;

可以看出来,Convert.ToInt32() 的功能是最强大的,它把Int32.Parse()功能包括了,也是说是Int32.Parse()是Convert.ToInt32() 的一种特殊情况。

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对我们的支持。如果你想了解更多相关内容请查看下面相关链接

上一篇:Unity3d实现Flappy Bird游戏

栏    目:C#教程

下一篇:WPF基础教程之元素绑定详解

本文标题:C#自动类型转换与强制类型转换的讲解

本文地址:https://www.xiuzhanwang.com/a1/C_jiaocheng/4954.html

网页制作CMS教程网络编程软件编程脚本语言数据库服务器

如果侵犯了您的权利,请与我们联系,我们将在24小时内进行处理、任何非本站因素导致的法律后果,本站均不负任何责任。

联系QQ:835971066 | 邮箱:835971066#qq.com(#换成@)

Copyright © 2002-2020 脚本教程网 版权所有