A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 叮当 中级黑马   /  2014-7-19 20:04  /  1698 人查看  /  13 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 叮当 于 2014-8-1 19:46 编辑

特别是TryParse,学着学着就有点不明白了,它是不是可以转换成是数字也可以是字符串?

评分

参与人数 1技术分 +1 收起 理由
陈君 + 1

查看全部评分

13 个回复

倒序浏览
本帖最后由 _xixi_ 于 2014-7-19 21:10 编辑

两者的原型分别为:public static int Parse(string s);public static bool TryParse(string s,out int result);
int.Parse 和 int.TryParse 针对操作的都是数字字符串,不同的地方在于,
int.Parse 在操作非数字字符串的时候会抛出异常;
int.TryParse 操作非数字字符串的时候,返回false,并且result=0

评分

参与人数 1技术分 +1 收起 理由
czwanglei + 1

查看全部评分

回复 使用道具 举报
本帖最后由 weiwei10153 于 2014-7-19 21:14 编辑

这两个方法用来把字符串转换为整型数字
int.Parse(string str)  返回值为int类型,如果转换失败会报错
int.TryParse(string str,out int number)  返回值为bool类型,如果转换成功,返回True,并把转换后的结果保存到变量number中,转换失败,不会报错,返回false,返回的值为0

评分

参与人数 1技术分 +1 收起 理由
czwanglei + 1

查看全部评分

回复 使用道具 举报

1.(int)变量名[强制类型转换]

    该转换方式主要用于数字类型之间的转换,从int类型向long,float,double,decimal 类型转换可以使用隐式转换,但从long型到int 就需要使用显示转换,即使用该类型的转换方式否则产生编译错误。

  该方式对于浮点数会无条件的舍去,会失去精确度

  对于char类型的到int类型的转换,传回的值是ASCII码

2.int.Parse(string 变量名)

  该方式是将数字内容的字符串转换为int类型,如果字符串的内容为Null ,则抛出ArgumentNullException异常;如果字符串内容不是数字,则抛出FormatException异常。

  使用该方法只能处理字符串的内容,而且转换后的字符串内容要在int类型的可表示范围之内

3.int.TryParse(string s, out int result)

  该方式也是将数字内容的字符串转换为int类型,但是该方式有比int.Parse 优越的地方,就是它不会出现异常,最后一个参数result是输出值,如果转换成功则输出相应的值,转换失败则输出0。

4. Convert.ToInt32

  该方式不仅可以将字符串类型转换为int,还可以将其他的类型转换为int。变量若为object或string类型,当其值为Nul时,会传回0,不会造成程序错误,但是若此string类型的值为string.Empty,转换成int时,程序仍会出错。



这次四个都有  ,大家一起学习,一起进步


评分

参与人数 1技术分 +1 收起 理由
czwanglei + 1

查看全部评分

回复 使用道具 举报
学习了,是得多写写才知道习惯用法啊!
回复 使用道具 举报
当有人给你回复后,请及时把帖子编辑为提问结束,这样版主才给你加分。
回复 使用道具 举报
int.parse  就是对字符串进行转换成int类型。如果字符串无法转换则报错,抛异常。
int.TryParse  不会报错,它整个表达式的返回值是一个bool类型的。比如
int a;
bool b=int.TryParse("123",out a);
如果字符串能够转换成功,则b==true。并且转换后的值就是a的值。

int.parse("123")就直接转,如果转换成功,那么整个表达式的返回值就是转换后的值,如果不成功,抛异常。

评分

参与人数 1技术分 +1 收起 理由
czwanglei + 1

查看全部评分

回复 使用道具 举报
路过学习了!
回复 使用道具 举报
int.Parse转换失败时会报错,int.TryParse不会报错

评分

参与人数 1技术分 +1 收起 理由
czwanglei + 1

查看全部评分

回复 使用道具 举报
int.Parse是将数字内容的字符串转换为int类型,如果字符串的内容为Null ,则抛出ArgumentNullException异常;如果字符串内容不是数字,则抛出FormatException异常。
int.TryParse是将数字内容的字符串转换为int类型,但是该方式有比int.Parse 优越的地方,就是它不会出现异常,最后一个参数result是输出值,如果转换成功则输出相应的值,转换失败则输出0。

评分

参与人数 1技术分 +1 收起 理由
czwanglei + 1

查看全部评分

回复 使用道具 举报
有同学给你回答了及时设置成提问结束,这样版主才能给你本人加分。
回复 使用道具 举报
同学你好,当有人给你回复后,请你及时把帖子编辑为提问结束,这样版主才给你加分。
回复 使用道具 举报
int.Parse(string 变量名)

  该方式是将数字内容的字符串转换为int类型,如果字符串的内容为Null ,则抛出ArgumentNullException异常;如果字符串内容不是数字,则抛出FormatException异常。

  使用该方法只能处理字符串的内容,而且转换后的字符串内容要在int类型的可表示范围之内

int.TryParse(string s, out int result)

  该方式也是将数字内容的字符串转换为int类型,但是该方式有比int.Parse 优越的地方,就是它不会出现异常,最后一个参数result是输出值,如果转换成功则输出相应的值,转换失败则输出0。

评分

参与人数 1技术分 +1 收起 理由
陈君 + 1

查看全部评分

回复 使用道具 举报
int.Parse()方法转换失败的时候返回异常,int.TryParse()返回的是bool类型的,转换失败不发出异常,返回false。

评分

参与人数 1技术分 +1 收起 理由
陈君 + 1

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马