2011-09-20 54 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