【问题标题】:No overload for method `TryParse` takes arguments方法 `TryParse` 没有重载需要参数
【发布时间】:2013-12-11 13:43:40
【问题描述】:

我收到以下错误消息:No overload for method 'TryParse' takes 1 argumentsif (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.");
    }

【问题讨论】:

  • “这是什么意思?” - 这意味着你调用错误的方法。在这种情况下:使用错误数量的参数(参数)。您可能希望像 this 或更好的方式使用它,例如 this

标签: c# winforms datagridview


【解决方案1】:

您需要将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 变量中获得解析后的值。

【讨论】:

    【解决方案2】:

    你不能使用int.TryParse(driverNo.Text)

    如下使用。

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-11-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-02-23
      相关资源
      最近更新 更多