我想要bild从streamwriter中的内容保存文件,但是在这段代码中
SaveFileDialog savefile = new SaveFileDialog();
savefile.FileName = "unknown.txt";
savefile.Filter = "Text files (*.txt)|*.txt|All files (*.*)|*.*|";
if (savefile.ShowDialog() == DialogResult.OK)
{
using (StreamWriter sw = new StreamWriter(savefile.FileName, false, System.Text.Encoding.Unicode))
sw.WriteLine("Test line");
sw.WriteLine("Test line2");
sw.WriteLine("Test line3");
}
在
sw.WriteLine("Test line2"); sw.WriteLine("Test line3");
行中,是错误,sw
不存在!但是我很少使用代码
using (StreamWriter sw = new StreamWriter("\unknow.txt", false,System.Text.Encoding.Unicode)) sw.WriteLine("Test line"); sw.WriteLine("Test line2"); sw.WriteLine("Test line3");
一切正常!问题出在哪里?
谢谢 !
最佳答案
您只需要添加括号:
using (StreamWriter sw = new StreamWriter(savefile.FileName,
false, System.Text.Encoding.Unicode))
{
sw.WriteLine("Test line");
sw.WriteLine("Test line2");
sw.WriteLine("Test line3");
}
变量
sw
对于using()
语句的作用域是局部的。没有大括号,这只是第一个WriteLine()。using()
的作用域规则与if()
相同,您已经正确使用了。关于c# - SaveFileDialog使C#中的Streamwriter出现问题,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11776781/