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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 神马王刚 中级黑马   /  2012-10-7 00:03  /  2696 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 神马王刚 于 2012-10-7 15:40 编辑

将字符串转换为整型,我们常用的有3个方法,分别是Convert.ToInt32();int.Parse()和int.TryParse();
  1.             Console.WriteLine("请输入一个数");
  2.             int num1 = Convert.ToInt32(Console.ReadLine());
  3.             Console.WriteLine("请输入一个数");
  4.             int num2 = int.Parse(Console.ReadLine());
  5.             Console.WriteLine("请输入一个数");
  6.             int num3 = 0;
  7.             bool result = int.TryParse(Console.ReadLine(), out num3);
  8.             Console.ReadKey();
复制代码
int.Parse()和convert.toint32就没区别,对等,喜欢那个用哪个,而用tryParse的话,代码不仅多一行,而且转换成功与否有提示,可是转化失败的话,也就提示不成功,也没有错误提示并要求重输.若输入的不能转换,我们需要的功能是提示错误并要求重输,那这是3个都在一个起跑线上了,除非一定非要得到true或false的话.按照我们的思维和习惯,能转换就给出转换后的结果,不能转换就提示错误要求重输,用户体验才会比较好.因此,我觉得int.TryParse的实用性实在不高,使用频率也低,只能说为我们思维的拓展提供了一种可能.不知道大家怎么看待int.TryParse的定位?这个转换你们用的多么?

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

4 个回复

倒序浏览

1、(int)是一种类型转换;当我们从int类型到long,float,double,decimal类型,可以使用隐式转换,但是当
我们从long类型到int类型就需要使用显式转换,否则会产生编译错误。
2、int.Parse()是一种类容转换;表示将数字内容的字符串转为int类型。
如果字符串为空,则抛出ArgumentNullException异常;
如果字符串内容不是数字,则抛出FormatException异常;
如果字符串内容所表示数字超出int类型可表示的范围,则抛出OverflowException异常;
3、int.TryParse 与 int.Parse 又较为类似,但它不会产生异常,转换成功返回 true,转换失败返回 false。最后一个参数为输出值,如果转换失败,输出值为 0
4、Convert.ToInt32()是一种类容转换;但它不限于将字符串转为int类型,还可以是其它类型的参数;
比较:
Convert.ToInt32 参数为 null 时,返回 0;
int.Parse 参数为 null 时,抛出异常。

Convert.ToInt32 参数为 "" 时,抛出异常;
int.Parse 参数为 "" 时,抛出异常。

Convert.ToInt32 可以转换的类型较多;
int.Parse 只能转换数字类型的字符串。

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

回复 使用道具 举报
TryParse();还是有一定的好处的 ,很多时候咱们还是通过if语句进行判断的,这样的话TryParse();返回的bool值用处就体现出来了

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

回复 使用道具 举报
int Number;
while(!int.TryParse(Console.ReadLine(),out Number)||Number<1||Number>100)
{
    Console.Write("输入无效,重新输入(1-100):");
}
这样即实现了为数值有效性的控制,也实现了数据范围有效性的控制

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

回复 使用道具 举报
{:2_32:}{:2_31:}{:2_30:}{:2_34:}{:2_33:}
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马