2010-04-13 78 views
0
MessageBox.Show((some_string.Length).ToString); 

我收到兩個錯誤此:爲什麼我不能做一個Messagebox.Show(some_int)?

  1. 爲 'System.Windows.Forms.MessageBox.Show(串)'

  2. 參數 '1' 的最佳重載的方法匹配:不能從'方法組'轉換爲'字符串'

有人能告訴我如何正確地做到這一點?

+2

如果您在ToString()的末尾沒有包含**()**,編譯器會認爲您嘗試傳遞ToString方法本身,而不是它的返回值。 – 2010-04-13 18:31:40

回答

3

功能需要支架被調用時,你是在ToString

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

末失蹤()的錯誤:

錯誤1爲最佳重載方法匹配'System.Windows.Forms.MessageBox.Show(string)'

這只是說它期望一個字符串(MessageBox.Show()),而你沒有提供它。

錯誤2參數「1」:不能從轉換「法團」到「字符串」

這是說,你不能轉換方法組(ToString沒有括號,使之函數調用)作爲所需方法中的字符串參數。

5
MessageBox.Show((some_string.Length).ToString()); 
+0

您需要ToString函數的括號 – Jason 2010-04-13 18:29:59

1
MessageBox.Show((some_string.Length()).ToString()); 
1
在您例如

忘記了括號:

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

你要知道,ToString不是財產,而是一種方法。

所以你必須使用一對括號。

MessageBox.Show((some_string.Length).ToString()); 
相關問題