2017-06-13 94 views
0

我試圖以Date-newline-Date-newline等格式打印隨機日期,但動態地添加了一些c#代碼中的日期。 我正在使用的當前代碼如下所示,用空格而不是換行符在一行中打印日期。如何動態地將新行添加到標籤c#

這裏是我當前的代碼

private void WriteDates(int NumberOfDates) 
{ 
    string dates = ""; 
    for(int i = 0 ; i < NumberOfDates; i++) 
    { 
     var print = RandomDay().ToShortDateString().ToString(); 
     dates += print + "\n"; 
    } 
    LblDate.Text = dates; 
} 
+5

嘗試'Environment.NewLine',而不是' 「\ n」'' – Fruchtzwerg

+1

「\ r \ n」',CR + LF – Gusman

+0

使用用於這種操作的StringBuilder,並在循環後轉換爲toString –

回答

0

\ n是一個特殊的「換行」字符不創建的HTML瀏覽器的渲染一個換行符。它會在HTML文件本身中創建換行符,但瀏覽器在呈現標記時不會考慮這一點。
看看頁面的來源(Chrome - >開發人員工具),您將在Label元素內看到換行符。

嘗試使用br標籤。

0

儘量避免for循環,你可以使用LINQ:

private void WriteDates(int NumberOfDates) 
{ 
    LblDate.Text = string.Join(string.Empty, 
     Enumerable.Range(0, NumberOfDates) 
      .Select(n => $"{RandomDay().ToShortDateString()}<br />")); 
} 
+0

在這種情況下使用linq有什麼好處? –

+0

@AndyStevens較少的錯誤探測器,非常優雅(富有表現力)。 –