2011-05-02 40 views
0

有幾個地方可以在C#中使用索引佔位符語法,即。索引佔位符的效率

// Assume some object is available with 2 string properties 
Console.Writeline("Hello {0}, today is {1}", obj.Username, obj.DayOfWeek); 

是否比使用字符串連接運算符構建字符串更高效?即。

Console.Writeline("Hello " + obj.Username + " today is " + obj.DayOfWeek); 

顯然{0} ... {n}語法是清潔的,如果你正在做的事情太複雜 - 但代碼更高效

回答

1

那麼第一個版本具有解析(低內存佔用或執行時間?)字符串並解釋它,然後再進行實際的字符串連接。所以人們會預期第一種方法會變慢,並且可能會佔用更多的內存,不是嗎?

但是,除非你正在做大量的字符串處理,否則不太可能是個問題。

1

不要去想它,使用格式化。如果您擔心這種方法的內存/執行時間,您還有其他問題。

+0

我意識到在單行代碼的上下文中擔心它很愚蠢,但是如果您需要對數百萬個字符串執行一些字符串操作,該怎麼辦? – debracey 2011-05-02 01:07:23

+2

在這種情況下,使用'StringBuilder'。 – Femaref 2011-05-02 01:08:45