gpt4 book ai didi

c# - 用另一个字符替换字符串中的字符并切换回去

转载 作者:太空宇宙 更新时间:2023-11-03 19:12:59 25 4
gpt4 key购买 nike

快速说明 - 我是 c# 的新手,所以如果这太简单了,我深表歉意。

我很难尝试在书中完成一个简单的 C# 任务。

伪代码-

文本框文本=用户输入

如果按钮一被点击 用星号替换文本框中的所有大写字母

否则如果按钮二被点击 用原来的字符替换星号(恢复正常)

这是我目前的情况

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Text.RegularExpressions;

namespace WindowsFormsApplication1
{
public partial class Form1 : Form
{

public Form1()
{
InitializeComponent();
button1.Click += new System.EventHandler(ClickedButton);
button2.Click += new System.EventHandler(ClickedButton);
}

private void Form1_Load(object sender, EventArgs e)
{

}

public void ClickedButton(object sender, EventArgs e)
{


string orignalText = textBox1.Text;


if (sender == button1)

{
string replaced = Regex.Replace(orignalText, @"[A-Z]", "*");
textBox1.Text = (replaced);

}

else if (sender == button2)

{
textBox1.Text = (orignalText);
}


}


}
}

问题是 button2 显示带有星号的文本。它应该显示(我希望它显示)原始字符。

最佳答案

originalText 应该是类字段而不是局部变量。此外,如果有人单击了 button2,则不应存储文本框的值。尝试将您的 ClickedButton 方法替换为:

    string orignalText;

public void ClickedButton(object sender, EventArgs e)
{
if (sender == button1)
{
orignalText = textBox1.Text;

string replaced = Regex.Replace(orignalText, @"[A-Z]", "*");
textBox1.Text = replaced;
}
else if (sender == button2)
{
textBox1.Text = orignalText;
}
}

关于c# - 用另一个字符替换字符串中的字符并切换回去,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19206450/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com