2011-05-02 13 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

1行のコードの文脈でそれを心配するのは馬鹿だと思いますが、何百万という文字列に対して何らかの文字列演算を行う必要がある場合はどうしたらいいですか? – debracey

+2

その場合、 'StringBuilder'を使用してください。 – Femaref