string s1 = txt1.Text.Trim(); 
  string s2 = txt2.Text.Trim(); 
  int i1, i2,sum=0; 
  if (int.TryParse(s1, out i1) == false){} 请问各位前辈,这句代码中,我知道int.TryParse是用于类型转换的,但是那个“out i1”什么意思呢,
这个if语句是不是判断输入的字符串类型无法转换成int 类型呢?除了这个“int.TryParse(s1, out i1) == false”还有没有其他的判断方法呢。

解决方案 »

  1.   

    out i1就是把转换结果放到i1中
    if语句是判断输入的字符串类型是不是整型的字符串,如果是转换成int 类型,不是就转换失败
    其他方法可以用正则
      

  2.   

    等价代码
        string s1 = txt1.Text.Trim(); 
      string s2 = txt2.Text.Trim(); 
      int i1, i2,sum=0; 
      bool isNumber = true;
        try
        {
            i1 = Convert.ToInt32(s1);
        }
        catch
        {
            isNumber = false;
        }
        if (!isNumber) { }
      

  3.   

    int.TryParse(s1, out i1) 
    的返回值是bool类型,表示s1是不是int类型,如果是int类型就返回ture,如果不是的话就返回false。out i1 就是将转换的结果放到变量il中
      

  4.   

    请问这里定义成 int类型是否不准确,如果是小数的话就不对了。那定义成float 还是double 合适呢
      

  5.   

    你不是 int.TryParse 么。我只是说按照你的等价代码
      

  6.   

    嗯,可是我考虑到小数的问题,所以考虑改成float还是 double 更好些