2014-02-23 214 views
-1

我建立一個分配一個簡單的表單應用程序。我想用方法輸出字符串變量「newSentence」的修改版本,但我不知道如何。這裏是我的代碼片段:填充文本框場

public partial class Form1 : Form 
{ 
    public Form1() 
    { 
     InitializeComponent(); 
    } 

    private void button1_Click(object sender, EventArgs e) 
    { 
     string sentence = textBox2.Text; 
     string extract = textBox1.Text; 
     bool b; 
     string newSentence = sentence.Replace(extract, " "); 

     if (b = sentence.Contains(extract)) 
     { 
      textBox3.Text = newSentence.ToUpper; // here id like to get newSentence in 
      textBox4.Text = newSentence.Length; //uppercase but Im stuck on how to 
               //convert the types 
     } 
    } 
} 
+0

編譯這一點,你試圖解決這些什麼的時候,你能解釋一下你得到什麼具體的錯誤? – CodeCaster

+0

錯誤:無法將方法組「ToUpper」轉換爲非委託類型「字符串」。你打算採用這種方法嗎?並且不能隱式地將int類型轉換爲字符串 –

+0

[LINQ:爲什麼這個查詢在查詢語法中起作用,但在方法語法中不起作用?](http:// stackoverflow。COM /問題/ 11813776/LINQ - 爲什麼 - 這-查詢工作,在查詢語法,但並非在法語法)。 – CodeCaster

回答

0

問題1:您正在使用ToUpper物業

解決方案1:您需要使用String.ToUpper()的方法,但不是財產。

從MSDN:String.ToUpper()

返回此字符串轉換爲大寫的副本。

試試這個:

textBox3.Text = newSentence.ToUpper(); 

問題2:你只能字符串設定爲TextBox控件的Text屬性

解決方案2:將其分配給前轉換newentence.LengthStringTextBoxText物業。

試試這個:

textBox4.Text = newSentence.Length.ToString(); 

建議:你不需要返回值分配給另一個布爾變量。 ,這樣你就可以簡單地檢查Contains()方法返回值的返回值。

if (sentence.Contains(extract)) 
{ 

//code here 

} 

完整代碼:

private void button1_Click(object sender, EventArgs e) 
{ 
    string sentence = textBox2.Text; 
    string extract = textBox1.Text;   
    string newSentence = sentence.Replace(extract, " "); 

    if (sentence.Contains(extract)) 
    { 
     textBox3.Text = newSentence.ToUpper(); 
     textBox4.Text = newSentence.Length.ToString(); 

    } 
} 
+1

@Downvoter:可否請給我任何改善這篇文章的建議? –

3

1) ToUpper的是這樣的方法不屬性。

textBox3.Text = newSentence.ToUpper; 

textBox3.Text = newSentence.ToUpper(); 

2)Length回報詮釋,將其轉換爲字符串

textBox4.Text = newSentence.Length; 

textBox4.Text = newSentence.Length.ToString(); 

if (sentence.Contains(extract))