我正在尝试制作这个有5个输入框的程序,当您单击按钮并将其保存到.txt文件时,需要保存已放入框中的内容。
protected void OnDeleteEvent (object sender, DeleteEventArgs a)
{
Application.Quit ();
a.RetVal = true;
}
protected void button1_Click(object sender, EventArgs e) {
string tb1Text = tb1.Text;
string tb2Text = tb2.Text;
string tb3Text = tb3.Text;
string tb4Text = tb4.Text;
string tb5Text = tb5.Text;
using(StreamWriter sw = new StreamWriter("/Home/Desktop/Test.txt")) {
sw.WriteLine(tb1Text + Environment.NewLine + tb2Text + Environment.NewLine + tb3Text + Environment.NewLine + tb4Text + Environment.NewLine + tb5Text);
}
我在这里做错了什么?我在第二行到最后一行代码中收到错误“Unexpected symbol'end-of-file'”。
答案 0 :(得分:1)
您在StreamWriter线上有一个额外的大括号。 <或者
using (StreamWriter sw = new StreamWriter("/Home/Desktop/Test.txt"))
sw.WriteLine(..);
或
using (StreamWriter sw = new StreamWriter("/Home/Desktop/Test.txt"))
{
sw.WriteLine(..);
}
顺便说一下。你可能想要查看String.Join()方法,你可能会摆脱&#34; + NewLine&#34;码。 String.Join(Environment.NewLine, tb1.Text,tb2.Text etc....)
答案 1 :(得分:0)
我建议你在代码中使用一致的样式,有时你把括号放在下一行,有时你把它放在同一行。选择一种风格(第一种风格更为普遍)并坚持下去。
protected void OnDeleteEvent (object sender, DeleteEventArgs a)
{
protected void button1_Click(object sender, EventArgs e) {
当一段代码是oneliner时,就像你的最后一行代码一样,你可以省略大括号:
using(StreamWriter sw = new StreamWriter("/Home/Desktop/Test.txt"))
sw.WriteLine(tb1Text + Environment.NewLine + tb2Text + Environment.NewLine + tb3Text + Environment.NewLine + tb4Text + Environment.NewLine + tb5Text);
相当于:
using(StreamWriter sw = new StreamWriter("/Home/Desktop/Test.txt"))
{
sw.WriteLine(tb1Text + Environment.NewLine + tb2Text + Environment.NewLine + tb3Text + Environment.NewLine + tb4Text + Environment.NewLine + tb5Text);
}
您的问题是您的代码中只有一个大括号。
答案 2 :(得分:0)
using(StreamWriter sw = new StreamWriter("/Home/Desktop/Test.txt")) {
这行有问题。将代码更改为
using(StreamWriter sw = new StreamWriter("c:\\username\\Home\\Desktop\\Test.txt")) {
它的所有基础知识,窗口显示的路径与语言上指定的路径不同。程序将“/”视为一个简单的字符,而它又将其视为单个文件名。同时“\”是一个特殊的角色,它可以清楚地区分路径;所以它必须做一点点不同。