方法`TryParse`没有重载需要参数

时间:2013-12-11 13:43:41

标签: c# winforms datagridview

我收到以下错误消息:No overload for method 'TryParse' takes 1 arguments if (int.TryParse(driverNo.Text))。这是什么意思?我知道如何解决它?

    private void driverNo_TextChanged(object sender, EventArgs e)
    {

        if (string.IsNullOrEmpty(driverNo.Text))
        {
            ((DataTable)dataGridView1.DataSource).DefaultView.RowFilter = string.Empty;
            return;
        }

        int temp;

        if (int.TryParse(driverNo.Text))
            ((DataTable)dataGridView1.DataSource).DefaultView.RowFilter = "DriverNo = " + driverNo.Text;
        else
            MessageBox.Show("Invalid driver no.");
    }

2 个答案:

答案 0 :(得分:4)

您需要将temp变量传递给int.TryParse

更改

 if (int.TryParse(driverNo.Text))

if (int.TryParse(driverNo.Text, out temp)) //since temp is defined just for it (I guess(

int.TryParse至少有两个参数,一个是要解析的字符串,另一个是用out关键字保存已解析的值。您尚未在代码中提供该内容。

成功解析后,您将在temp变量中获得已解析的值。

答案 1 :(得分:3)

您无法使用int.TryParse(driverNo.Text)

使用如下。

int newValue;    
if(int.TryParse(driverNo.Text, out newValue))
{
}