这是我的代码:
for (int j = 0; j < bufferreader.Length; j++)
{
using (StreamWriter sw = File.AppendText(@"C:\Users\yamald\Documents\Normal.data"))
{
//sw.Write();
if (bufferreader.length != null)
{
sw.Write(bufferreader[j] + ",");
}
else
{
sw.WriteLine("\n");
}
}
}
如何在数组末尾写一个“\ n”到我的文件? else
命令无法运行。
答案 0 :(得分:0)
您可能只需要在其他所有内容之前创建StreamWriter对象,并在循环结束之前使其可用,然后在循环之后编写newline
,如下所示:
using (StreamWriter sw = File.AppendText(@"C:\Users\yamald\Documents\Normal.data"))
{
for (int j = 0; j < bufferreader.Length; j++)
{
sw.Write(bufferreader[j] + ",");
}
sw.WriteLine("\n");
}
最好使用while
循环并执行类似while(bufferreader.length != null)
而不是for
循环和if
语句的操作,但这取决于您和我的避风港暂时没有使用bufferreader所以不知道确切的语法。
然而,else
永远不会被执行的原因是(正如EoiFirst正确地说的那样)你实际上并没有改变bufferreader.length所以它永远不会为空。
答案 1 :(得分:0)
您需要在for循环之后放置sw.WriteLine("\n");
。
当j = bufferreader.length时循环停止,if语句始终为true。
另外,我认为bufferreader.length永远不会为null,因为你永远不会修改这个变量。我想你需要的是:
if (bufferreader.length > j)