zoukankan      html  css  js  c++  java
  • C# int.Parse()与int.TryParse()

    int i = -1;
    bool b = int.TryParse(null, out i);
    执行完毕后,b等于false,i等于0,而不是等于-1,切记。

    int i = -1;
    bool b = int.TryParse("123", out i);

    执行完毕后,b等于true,i等于123;

    1、(int)是一种类型转换;当我们觟nt类型到long,float,double,decimal类型,可以使用隐式转换,但是当我们从long类型到int类型就需要使用显式转换,否则会产生编译错误。

    2、int.Parse()是一种类容转换;表示将数字内容的字符串转为int类型。  

    如果字符串为空,则抛出ArgumentNullException异常;  

    如果字符串内容不是数字,则抛出FormatException异常;  

    如果字符串内容所表示数字超出int类型可表示的范围,则抛出OverflowException异常;

    3、int.TryParse与 int.Parse 又较为类似,但它不会产生异常,转换成功返回 true,转换失败返回 false。  

    最后一个参数为输出值,如果转换失败,输出值为 0,如果转换成功,输出值为转换后的int值

    4、Convert.ToInt32()是一种类容转换;但它不限于将字符串转为int类型,还可以是其它类型的参数;

    比较:Convert.ToInt32 参数为 null 时,返回 0; int.Parse 参数为 null 时,抛出异常。Convert.ToInt32 参数为 "" 时,抛出异常; int.Parse 参数为 "" 时,抛出异常。   Convert.ToInt32 可以转换的类型较多; int.Parse 只能转换数字类型的字符串。int.TryParse相比较于以上两种方法则更加安全,不会报错,在某些情况下好用很多!

  • 相关阅读:
    分享我的2014年3月unity3d面试题与参考答案(转)
    Unity3D 面试ABC
    MiniJson解释Json字符串
    Unity3D研究之支持中文与本地文件的读取写入(转)
    unity3d--NGUI制作中文字体
    吊炸天之十步完全理解SQL
    mysql主从同步碰到的问题
    Redis 安装碰到问题
    在Centos系统下使用命令安装gnome图形界面程序
    centos7 网络问题
  • 原文地址:https://www.cnblogs.com/wcl2017/p/7106989.html
Copyright © 2011-2022 走看看