c#强制类型转换int方式

 更新时间:2024年07月26日 09:47:00   作者:土豆丶杨  
这篇文章主要介绍了c#强制类型转换int方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

c#强制类型转换int

在 C# 中有三种方法把其它类型转为整型,分别是 :

  • int.Parse()
  • 强制转换(int) 
  • Convert.ToInt32()

下面探讨它们各自的特点及效率

1、int.Parse() 方法

该方法只能把字符型(string)转换为整型(int),如果用它把非字符型转为 int,则会产生异常

举例如下:

int i = int.Parse("100");

注意:如果把不能转换为 int 字符转换为 int,也会发生异常,如:

int text = int.Parse("转为整型");

2、Convert.ToInt32() 方法

该方法是把对象型(object)转换为整型(int)

由于 C# 把各种数据类型都看作对象,所以可以把所有类型都转换为 int;

遇到不能转换为 int 的类型,则返回 0

举例如下:

int n = Convert.ToInt32(Cache["totalOnline"]); //把对象型转为 int

bool flag = true;
int b = Convert.ToInt32(flag); //把布尔型转为 int,结果返回 0

int m = Convert.ToInt32(null);//把“空”转为 int,结果返回 0

3、强制转换(int)

强制转换通常用在待转换的类型转换后是数字比较明确的情况,不然对不能转换为 int 的数据类型用强制转换就会产生异常

举例如下:

int n = (int)Cache["totalOnline"]; //把缓存的在线人数转为 int

byte b = 8;
int i = (int)b;

double d = 15.26;
int i = (int)d; //结果为 15

4、效率比较

由于在转换过程中,Convert.ToInt32() 方法最终也是先调用 int.Parse() 方法,所以 int.Parse() 方法的效率自然比 Convert.ToInt32() 方法高。

如果待转换的类型转换后一定是数字,建议使用 int.Parse() 方法和强制转换(int),以提高程序执行效率;

如果不能断定,只能用Convert.ToInt32() 方法,或用 Convert.ToInt32() 方法加异常处理,即:

int i;
try
{
i = int.Parse(Cache["totalOnline"]);
}
catch
{
i = 0;
}

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • Unity实现人物旋转和移动效果

    Unity实现人物旋转和移动效果

    这篇文章主要为大家详细介绍了Unity实现人物旋转和移动效果,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-01-01
  • DataGridView自定义单元格表示值、Error图标显示的方法介绍

    DataGridView自定义单元格表示值、Error图标显示的方法介绍

    这篇文章介绍了DataGridView自定义单元格表示值、Error图标显示的方法,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-02-02
  • C#获取图片文件扩展名的方法

    C#获取图片文件扩展名的方法

    这篇文章主要介绍了C#获取图片文件扩展名的方法,实例总结了较为常见的获取图片文件扩展名的技巧,非常具有实用价值,需要的朋友可以参考下
    2014-10-10
  • C#异步编程Task的创建方式

    C#异步编程Task的创建方式

    这篇文章介绍了C#异步编程Task的创建方式,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-04-04
  • C#实现微信退款及对账功能的示例详解

    C#实现微信退款及对账功能的示例详解

    在招聘报名系统里,考务费支付是其中一个环节,支付方式很多种,比如银联、微信、支付宝等等,本次我们以微信支付进行举例,在实际的应用中,对于支付成功的考生,我们会遇到实现退款的需求,所以本文给大家介绍了使用C#实现微信退款及对账,需要的朋友可以参考下
    2023-11-11
  • C#学习笔记之飞行棋项目

    C#学习笔记之飞行棋项目

    这篇文章主要为大家详细介绍了C#控制台实现飞行棋项目,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-07-07
  • C#构建树形结构数据(全部构建,查找构建)

    C#构建树形结构数据(全部构建,查找构建)

    这篇文章主要介绍了C#构建树形结构数据(全部构建,查找构建),小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-10-10
  • wpf将表中数据显示到datagrid示例

    wpf将表中数据显示到datagrid示例

    这篇文章主要介绍了wpf将表中数据显示到datagrid示例,需要的朋友可以参考下
    2014-02-02
  • Unity贝塞尔曲线之美体验

    Unity贝塞尔曲线之美体验

    这篇文章主要带大家体验Unity贝塞尔曲线之美,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-10-10
  • 基于C#解决库存扣减及订单创建时防止并发死锁的问题

    基于C#解决库存扣减及订单创建时防止并发死锁的问题

    这篇文章主要介绍了基于C#解决库存扣减及订单创建时防止并发死锁的问题,很多开发人员对于这个问题的排查起来是比较困难的,而生产生的原因多种多样,很多人认是因为表中的数据太多了同时操作的人多人才会产生这种错误,下面我们来还原一下死锁的过程
    2022-05-05

最新评论