我正在使用Windows Form Application
,在应用程序中,有两个丰富的Textbox
和一个Button
,我希望RichTextbox
2显示RichTextbox
1使用Dictionary
后。如何做到这一点?Button
的代码是什么?
public Form1()
{
InitializeComponent();
Dictionary<char, string> dictionary = new Dictionary<char, string>();
dictionary.Add('a', "%");
dictionary.Add('A'," %");
dictionary.Add('b', " &");
dictionary.Add('B', " &");
dictionary.Add('c', " <");
dictionary.Add('C', " <");
}
private void button_Click(object sender, EventArgs e)
{
second_richtextbox= (???)
}
因此,当我输入cab时,它将转换为&#34;&lt;%&amp;&#34; 我想将这封信翻译成不同的符号。
答案 0 :(得分:1)
这是使用LINQ的一种方法:
private void button_Click(object sender, EventArgs e)
{
second_richtextbox.Text = string.Join("",
first_richtextbox.Text
.Select(ch =>
dictionary.ContainsKey(ch) ? dictionary[ch] : ch.ToString()));
}
或者使用循环和StringBuilder
更简单的方式(我可能会这样做):
var result = new StringBuilder();
for (int i = 0; i < first_richtextbox.Text.Length; i++)
{
if (dictionary.ContainsKey(text[i]))
{
result.Append(dictionary[text[i]]);
}
else
{
result.Append(text[i]);
}
}
second_richtextbox.Text = result.ToString();
答案 1 :(得分:0)
在按钮的Click事件
上试用此代码 string frstvalue = richTextBox1.Text;
string finalvalue = "";
char[] a = richTextBox1.Text.ToArray();
foreach (char c in a)
{
if (dictionary.ContainsKey(c))
{
string value = dictionary[c];
finalvalue += value;
}
}
richTextBox2.Text = finalvalue;
我希望它会有所帮助