在数组的末尾写一个字符

时间:2013-07-18 11:39:02

标签: c# arrays streamwriter.write

这是我的代码:

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命令无法运行。

2 个答案:

答案 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)