-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」文字を「s」に変更させることです。ボタンが押されたときにメッセージボックスに結果を表示します。ただし、何を試しても、「l」は変更されません。

編集:みんなありがとう、それがそんなにばかげたことだとは信じられない. うわーV_V

4

3 に答える 3

4
textBox1.Text = textBox1.Text.Replace("l", "s");
于 2012-06-29T04:21:34.220 に答える
2

文字列は不変であるため、置換を行った後にテキストを元に戻します。

また、置換が見つからない場合は元のテキストが返されるため、チェックを使用textBox1.Text = textBox1.Text.Replace("l", "s");して回避することもできます。Containsstring Replace

于 2012-06-29T04:31:44.063 に答える
0
if (name.Contains("l"))
{
    name = name.Replace("l", "s");
    textBox1.Text = name;
}

MessageBox.Show(name);
于 2012-06-29T04:23:22.193 に答える