我是编程新手,但我喜欢它,我正尽力学习。 我正在编写一个小应用程序,它有一个多行文本框(txtOutput),我输入我的评论。然后,这些注释/行将以字符串数组的形式传输。 然后我调用一个类传输一些变量,并调用数组以打印到txt文件。 虽然我可以使用变量中的数据填充txt文件,但我无法将数组的内容添加到txt文件中。我将不胜感激。
从txtOutput到数组的文字
public void button6_Click(object sender, EventArgs e)
{
string[] comments = txtOutput.Text.Split(' ');
将数组和其他变量传递给class1(我有代码创建并保存这些变量的内容,并将数组保存到txt文件)。其他两个变量在文件上打印出来没有问题。
WriteTextFile WTR = new WriteTextFile();
WTR.Save(temperatura, speedMotore, comments);
Class1代码(我在其中制作txt文件并保存。
class WriteTextFile
{
public void Save(int sendTem, int sendMot, string[] comments)
{
DateTime Now = DateTime.Now;
string dateTime = Now.ToString("F");
SaveFileDialog sd = new SaveFileDialog();
sd.Filter = "Text File | *.txt";
if (sd.ShowDialog() == DialogResult.OK)
{
using (StreamWriter sw = new StreamWriter(sd.FileName))
{
sw.Write("File diconfigurazione del programma Arduino Control " + "\r\n");
sw.Write("\r\n");
sw.Write(dateTime + "\r\n");
sw.Write("\r\n");
sw.Write("\r\n");
sw.Write("La temperatura impostata in PWM1 è: " + sendMot + "\r\n");
sw.Write("\r\n");
sw.Write("La velocità del motore impostata in PWM2 è: " + sendTem + "\r\n");
sw.Write("\r\n");
sw.Write(comments[1] + "\r\n");
sw.Dispose();
sw.Close();
}
}}}
我不确定是否要将txtOutput中的任何文本转移到"评论"数组正确。我想要实现的是将txtOutput中的那些行逐个打印在txt文件中,而我只是收到一条消息,其中显示"索引超出范围......."
答案 0 :(得分:3)
不要像在Dispose
语句中那样调用using
- using
语句会处理这个问题。这可能是问题的原因 - 流将在冲洗之前处理。
请保持:
using (StreamWriter sw = new StreamWriter(sd.FileName))
{
sw.Write("File diconfigurazione del programma Arduino Control " + "\r\n");
sw.Write("\r\n");
sw.Write(dateTime + "\r\n");
sw.Write("\r\n");
sw.Write("\r\n");
sw.Write("La temperatura impostata in PWM1 è: " + sendMot + "\r\n");
sw.Write("\r\n");
sw.Write("La velocità del motore impostata in PWM2 è: " + sendTem + "\r\n");
sw.Write("\r\n");
sw.Write(comments[1] + "\r\n");
sw.Close();
}
答案 1 :(得分:0)
问题解决了。谢谢大家的意见。 我程序中的数组如下:
string[] comments = textBox5.Text.Split(new string[] { Environment.NewLine }, StringSplitOptions.RemoveEmptyEntries);
然后打印内容:
foreach (string i in comments)
{
sw.Write(i + "\r\n");
}