2016-01-20 59 views
2

以下代碼給出OUTPUT1,如下所述。如何實現OUTPUT2使用C#中同一行上的流寫入器寫入數字

using (StreamWriter writer = new StreamWriter("testdata.txt", true)) 
{ 
    for (int i = 1; i <= 1500; i++) 
    {       
     writer.WriteLine(i +","); //OR writer.Write(i + ","); 
    } 
} 

OUTPUT1

1, 
2, 
3, 

OUTPUT2

1,2,3,4,5,6 
+2

逗號從哪裏來?你在這裏展示的代碼是你使用的實際代碼嗎? – Sayse

+3

我猜逗號是由不可見的'writer.WriteLine(「,」);' –

+2

你剛剛編輯了你自己的問題的答案...你使用的*實際*代碼是什麼? 'Writeline'帶有小寫'l'不是有效的方法 – Sayse

回答

4

需要使用.Write代替.WriteLine但我猜你看到的是

new StreamWriter("testdata.txt", true) 

結果的true意味着它附加到文件,由於您以前可能使用WriteLine運行了此代碼,因此您可以滾動查看前1500行,以便在同一行中找到您的代碼

5

使用writer.Write而不是writer.Writeline避免多餘的換行符。

+0

與writer.Write我得到了我不想要的新行 – Raulp

+0

@Raulp'Write'方法不插入除字符串提供給它的任何東西。 'WriteLine'在該字符串後插入額外的換行符。那麼你到底在哪裏得到不需要的換行符?你能詳細解釋一下嗎? –

+2

@Raulp - 請發佈一些代碼a)您已經運行,b)只包含'Write'調用而不是'WriteLine'和c)產生您聲稱的這些額外的行。目前,我們不得不猜測你正在運行的代碼是什麼,它可以通過不調用WriteLine來解決,或者它不會顯示你聲稱的問題。 –

0

您必須使用Write()函數,因爲WriteLine()函數已寫入,然後像「1 \ n 2 \ n 3 \ n」那樣跳過該行。

using (StreamWriter writer = new StreamWriter("testdata.txt", true)) 
      { 

       for (int i = 1; i <= 1500; i++) 
       { 
        writer.Write(i +","); 
       } 
      }