2012-06-29 35 views
-1
using System; 
using System.Collections.Generic; 
using System.ComponentModel; 
using System.Data; 
using System.Drawing; 
using System.Linq; 
using System.Text; 
using System.Windows.Forms; 

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

     private void button1_Click(object sender, EventArgs e) 
     { 
      string name = textBox1.Text; 

      if (textBox1.Text.Contains("l")) 
      { 
       textBox1.Text.Replace("l", "s"); 
      } 
      string nameA = textBox1.Text; 
      MessageBox.Show(nameA); 
     } 
    } 
} 

基本上,我想要做的是,用戶鍵入一個名稱,名稱中的「l」字符更改爲「的」。按下按鈕時,在消息框中顯示結果。但是,無論我嘗試過什麼,「l」都不會改變。試圖更改Windows窗體應用程序中的字符串的特定字符,C#

編輯:謝謝你,我不能相信這是愚蠢的東西。哇V_V

回答

4
textBox1.Text = textBox1.Text.Replace("l", "s"); 
0
if (name.Contains("l")) 
{ 
    name = name.Replace("l", "s"); 
    textBox1.Text = name; 
} 

MessageBox.Show(name); 
2

由於字符串是不可變的,你必須做更換後分配回的文本。

也可以使用textBox1.Text = textBox1.Text.Replace("l", "s");並避免Contains檢查,因爲如果未找到替換stringReplace將返回原始文本。

+0

我會記住這一點,謝謝 –

+0

+1 for immutable – Habib

相關問題