-1

これが私のコードです:

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ません。

4

2 に答える 2

0

sw.WriteLine("\n");for ループの後に配置する必要があります。

j = bufferreader.length のときにループが停止するため、if ステートメントは常に true になります。

また、この変数を変更しないため、 bufferreader.length が null になることはないと思います。必要なものは次のとおりです。

if (bufferreader.length > j)
于 2013-07-18T11:44:57.847 に答える
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ループを使用して何かを行う方が良いでしょうが、それはあなた次第であり、私はしばらく bufferreader を使用していないので、その正確な構文はわかりません.while(bufferreader.length != null)forif

elseただし、決して実行されない理由は (EoiFirst が正しく言ったように) 実際には bufferreader.length を変更していないため、null になることはありません。

于 2013-07-18T11:42:36.823 に答える