今天就跟大家聊聊有关怎么在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() 的一种特殊情况。
看完上述内容,你们对怎么在C#中强制转换类型有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注亿速云行业资讯频道,感谢大家的支持。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。