2010-02-17 19 views
4

我正在使用字符串生成器作爲日誌記錄過程的一部分。我使用的分隔符是「」。我怎樣才能以比「」更有效的方式輸出這個字符。.Net:更好地表達「」(空格字符)?

例如:

sb.Append(" "); 

還是這本要做到這一點的可以接受的方式?

在此先感謝

回答

7

如果你擔心它會創建一個新的字符串每次反對,不要擔心。編譯器將優化它以在每次調用時使用相同的字符串對象。

+0

+1並接受答案。 – 2010-02-17 10:03:37

2

這是非常好的。

但是,您可能希望提高抽象層次位:

public static StringBuilder AppendWithSeparator(this StringBuilder sb, string value) 
{ 
    sb.Append(value); 
    sb.Append(" "); 

    return sb; 
} 
6

如果是單個字符更好地利用sb.Append(' ');

+1

爲什麼這更好?請參閱Mark Byers關於編譯器優化的回答 – 2010-02-17 09:23:33

+6

@Rob Cowell:這與編譯器優化無關。 'Append(char)'重載不需要檢查空參數或參數長度(總是1)。 – 2010-02-17 09:29:49

3

您可能認爲""有替代方案,如string.Empty。但是沒有這樣的事情,所以使用" "就可以了。

2

在某處定義了const char seperator = ' '可能會更好。然後使用sb.Append(seperator)

這會使代碼更易於維護,如果在稍後您決定使用(例如)逗號分隔。

相關問題