C# 为什么我不能做一个Messagebox.Show(一些int)?

C# 为什么我不能做一个Messagebox.Show(一些int)?,c#,.net,C#,.net,我得到了两个错误: 与“System.Windows.Forms.MessageBox.Show(string)”匹配的最佳重载方法 参数“1”:无法从“方法组”转换为“字符串” 有人能告诉我如何正确执行此操作吗?函数在调用时需要括号,在ToString末尾缺少() MessageBox.Show((some_string.Length).ToString()); 错误: 错误1“System.Windows.Forms.MessageBox.Show(string)”的最佳重载方法匹配 这只

我得到了两个错误:

  • 与“System.Windows.Forms.MessageBox.Show(string)”匹配的最佳重载方法

  • 参数“1”:无法从“方法组”转换为“字符串”


  • 有人能告诉我如何正确执行此操作吗?

    函数在调用时需要括号,在
    ToString
    末尾缺少
    ()

    MessageBox.Show((some_string.Length).ToString());
    
    错误:

    错误1“System.Windows.Forms.MessageBox.Show(string)”的最佳重载方法匹配

    这只是说它需要一个字符串(
    MessageBox.Show()
    ),而您没有为它提供一个字符串

    错误2参数“1”:无法从“方法组”转换为“字符串”


    这意味着您无法将方法组(
    ToString
    ,不使用括号将其转换为函数调用)转换为所需方法中的字符串参数。

    在您的示例中,您忘记了括号:

    MessageBox.Show((some_string.Length()).ToString());
    

    您必须知道,
    ToString
    不是一个属性,而是一个方法

    所以你必须用一对括号

    MessageBox.Show((some_string.Length).ToString());
    

    您需要ToString函数的方括号如果您没有在ToString()的末尾包含(),编译器会认为您试图传递的是ToString方法本身,而不是它的返回值。
    MessageBox.Show((some_string.Length).ToString());
    
    MessageBox.Show((some_string.Length).ToString());
    
    MessageBox.Show((some_string.Length).ToString());