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;
}

总结

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

相关文章

  • C#使用Spire.PDF for .NET轻松比较PDF文档

    C#使用Spire.PDF for .NET轻松比较PDF文档

    PDF 已成为跨平台共享和保存文档的标准格式,在工作和日常生活中都扮演着重要角色,然而,创建高质量的 PDF 文档通常需要多次检查与修改,所以本文将演示如何在 C# 程序中使用 Spire.PDF for .NET 轻松比较 PDF 文档,需要的朋友可以参考下
    2025-11-11
  • C#实现在控制台输出当前系统时间的方法

    C#实现在控制台输出当前系统时间的方法

    这篇文章主要介绍了C#实现在控制台输出当前系统时间的方法,涉及C#时间函数DateTime.Now的使用方法,需要的朋友可以参考下
    2015-04-04
  • C# 守护进程的介绍及实现详解

    C# 守护进程的介绍及实现详解

    本文主要介绍了C# 守护进程的介绍及实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-06-06
  • 基于c# Task自己动手写个异步IO函数

    基于c# Task自己动手写个异步IO函数

    这篇文章主要介绍了如何基于c# Task自己动手写个异步IO函数,帮助大家更好的理解和学习使用c#,感兴趣的朋友可以了解下
    2021-03-03
  • C# 从 UTF-8 流中读取字符串的正确方法及代码详解

    C# 从 UTF-8 流中读取字符串的正确方法及代码详解

    在本篇文章里小编给大家整理的是一篇关于C# 从 UTF-8 流中读取字符串的正确方法的知识点内容,有兴趣的朋友们可以学习参考下。
    2021-11-11
  • C#中+=是什么意思及+=的用法

    C#中+=是什么意思及+=的用法

    这篇文章主要介绍了C#中+=是什么意思及+=的用法说明,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-02-02
  • unity置灰处理的实现

    unity置灰处理的实现

    本文主要介绍了unity置灰处理的实现,文中通过示例代码介绍的非常详细,需要的朋友们下面随着小编来一起学习学习吧
    2021-07-07
  • 详解c# 委托链

    详解c# 委托链

    这篇文章主要介绍了c# 委托链的相关资料,文中讲解非常细致,代码帮助大家更好的理解和学习,感兴趣的朋友可以了解下
    2020-07-07
  • C#非托管泄漏中HEAP_ENTRY的Size对不上解析

    C#非托管泄漏中HEAP_ENTRY的Size对不上解析

    这篇文章主要为大家介绍了C#非托管泄漏中HEAP_ENTRY的Size对不上解析,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-09-09
  • C#比较时间大小的方法总结

    C#比较时间大小的方法总结

    在本篇内容里小编给大家分享的是关于C#比较时间大小的方法总结,对此有需要的朋友们可以学习下。
    2018-12-12

最新评论