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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 邢凯 中级黑马   /  2014-8-3 13:00  /  1581 人查看  /  10 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 邢凯 于 2014-8-4 10:00 编辑

Convert.ToInt32、int.Parse  这两个是要在什么情况来分别使用呢?还设有i​n​t​.​T​r​y​P​a​r​s​e  的是怎么使用的,我看百度上的看不明白,(如果有代码来解释这个​i​n​t​.​T​r​y​P​a​r​s​e 最好了)   谢谢

评分

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

查看全部评分

10 个回复

倒序浏览

using System.Collections.Generic;

using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace Test3
{
      public partial calss Form1 : Form
      {
            public Form1()
            {
                   InitialzeComponent();
            }
            private void button1_Click(object sender, EventArgs e)

            {

                   //用户在文本框1,2中输入两个数,点击按钮,在文本框3中显示从文本框1中的数字到文本框2中的数字之间的累加和。如果1或者2为错误的数据格式,则弹出对话框提示错

                   string s1= textBox1.Text;
                   string s2= textBox1.Text;
                   if(int.TryParse(s1,out i1) == false)
                   {
                         MessageBox.Show("数字1格式错误!");
                         return;
                   }
                   if(int.TyrParse(s2,out i2) == false)
                   {
                         MessageBox.Show("数字2格式错误!");
                         return;
                   }
                   if( i1>= i2)
                   {
                          MessageBox.Show("第二个数要大于第一个数");//排错技巧,在出错的地方设置断点,看相关变量
                          return;
                   }
                    
            }
      }
}

评分

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

查看全部评分

回复 使用道具 举报
int i;
bool b=int.TryParse("123",out i)
if(b)
{
     Console.WriteLine(i);
}
tryparse就是试着转换,如果转换成功,则整个表达式返回true,转换后的值通过out返回。
上面的代码的意思就是,试着转换字符串“123”,转换成功,返回true,所以执行了if语句中的代码,输出转换后的值。
和convert和parse的区别就在于,它不会抛异常。前两个转换失败报错。

评分

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

查看全部评分

回复 使用道具 举报 1 0
qsq0000hm 发表于 2014-8-3 14:14
int i;
bool b=int.TryParse("123",out i)
if(b)

你这个我在百度上就看到这样的回复,但是这个返回值是指的是你里面的I吗? 那输出的时候就是直接输出BOOL 类型的吗
回复 使用道具 举报
许庭洲 发表于 2014-8-3 13:23
using System.Collections.Generic;using System.ComponentModel;
using System.Data;
using System.Drawin ...

这个大哥你这个 貌似有点深奥,我没咋看明白{:3_59:}
回复 使用道具 举报
邢凯 发表于 2014-8-3 17:12
这个大哥你这个 貌似有点深奥,我没咋看明白

这个大哥回答的问题可有含金量了,好好看,能学到很多
回复 使用道具 举报
邢凯 发表于 2014-8-3 17:11
你这个我在百度上就看到这样的回复,但是这个返回值是指的是你里面的I吗? 那输出的时候就是直接输出BOOL ...

int.tryparse("",out i)整个表达式的返回值是BOOL类型的。
bool b=int.TryParse("123",out i)。b来接收bool类型的返回值,如果返回值是true,那么表示转换成功了
,那么字符串“123 ”转换后的值通过参数i传出,就是整数123。
回复 使用道具 举报
你按F11逐句调试一下看看
回复 使用道具 举报
qsq0000hm 发表于 2014-8-3 19:14
int.tryparse("",out i)整个表达式的返回值是BOOL类型的。
bool b=int.TryParse("123",out i)。b来接收bo ...

哦哦 这样说我就懂了,  谢谢
回复 使用道具 举报
bool b=int.TryParse("321",out i)。b用来接收bool类型的返回值,如果返回值是true,那么表示字符串转换成功,那么字符串“321 ”转换后的值通过参数i传出,就是整数321。

评分

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

查看全部评分

回复 使用道具 举报
qsq0000hm 发表于 2014-8-3 19:14
int.tryparse("",out i)整个表达式的返回值是BOOL类型的。
bool b=int.TryParse("123",out i)。b来接收bo ...

这样说我的脑子就明白了, 谢谢
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马