2010-07-24 45 views

回答

4

StringBuilder.AppendFormat String.Format是最接近的。它執行相同的操作,但請注意格式字符串是in a different format

使用String.Format

string buf = string.Format("{0}", frame); 

使用StringBuilder.AppendFormat

StringBuilder builder = new StringBuilder(); 
builder.AppendFormat("{0}", frame); 
0

如果你分配一個字符串,使用String.Format

var newString = String.Format("Number: {0}", 10); 

如果您要追加大量字符串,請使用StringBuilder.AppendFormat。從長遠來看,它可以節省您的時間,因爲它們可以鏈接在一起,節省空間。

var result = new StringBuilder().AppendFormat("{0}", 10).AppendFormat("{0}", 11).ToString(); 
0

可能是什麼它的準確模擬?

目前還沒有確切的模擬,這是因爲:在C和C#

  1. 字符串不同的方式實現。在C中,字符串是可變的字符數組,而在.NET中它們是不可變的對象實例。因此,在.NET你不「寫入緩衝區」爲snprintf做,你只需要創建一個全新的字符串

  2. 在.NET中使用的格式字符串(在String.FormatConsole.WriteLine等)是由C很大的不同(不同的佔位符格式)

正如在其他的答案中提到,最接近的等效是String.Format,但它絕對不是一個確切的模擬