2011-09-20 126 views
1

是否有一個(系統庫)的方式來插入格式化字符串到StringBuilder將與以下內容相同?插入格式化字符串到StringBuilder

myStringBuilder.Insert(0, string.Format("%02X", someInt)); 

我還沒有找到任何在class documentation

+4

有什麼不對以上? – Jon

+0

因爲我知道這將工作性質 –

+0

@Jon - 我只是想知道是否有一個圖書館的支持,或者我應該像我一樣寫。 – MByD

回答

0

StringBuilder爲您提供了方法AppendFormat,它在一次調用中執行append和格式,但將內容添加到緩衝區的末尾。

在您的具體情況下,因爲沒有提供如您所希望的那樣使用InsertFormat的.NET框架方法,您可以使用上述方法在您的問題中創建一個擴展方法(例如將其稱爲InsertFormat),然後將其用於你的項目。

+1

或換句話說, – Jodrell

+0

似乎更有效率。擴展方法可能是最好的建議在這裏,但我覺得這在技術上不是一個好的答案,因爲這個問題明確規定了「系統庫方法」。 – Jon

+0

@Jodrell - 不是一個合法的答案:)。順便說一句,爲什麼append似乎對你更有效? – MByD

3

您可以創建一個擴展方法

public static StringBuilder InsertFormat(this StringBuilder sb, string format, params object[] args) 
{ 
    sb.Insert(0, string.Format(format, args)); 
} 

然後,你可以寫

myStringBuilder.InsertFormat("%02X", someInt); 
+0

這個解決方案不是一個系統庫方法 – meziantou

+0

那麼這就是我目前做的非常多。我想知道是否有一個庫方法。謝謝! – MByD