【发布时间】:2014-12-11 21:10:04
【问题描述】:
我正在尝试用 c# 制作一个简单的词法分析器。
我有 2 个富文本框,第一个框将代码作为输入,第二个框将显示输出。
代码:
private void button1_Click(object sender, EventArgs e)
{
if (richTextBox1.Text.Contains("public"))
richTextBox2.Text = "public= id";
if (richTextBox1.Text.Contains("main"))
richTextBox2.Text = "main = id";
if (richTextBox1.Text.Contains("void"))
richTextBox2.Text = "void = id";
}
它总是只显示 1 个匹配项.. 如果我的输入是“public static void main” 它在richtextbox2 中只显示“public = id”。
为什么不显示 main 或 void ?
我是新手,任何帮助将不胜感激。谢谢:)
【问题讨论】:
-
你的意思是它只显示“void = id”,对吧?
-
你每次都覆盖richTextBox2.Text的内容,所以只有你的最后一条指令定义了文本
-
使用
richTextBox2.Text + = -
=运算符也称为assignment-operator,因此它分配一个值,而不是附加它。因此使用+= operator。
标签: c# richtextbox