2012-03-08 16 views
-2

など。次の例では:String.Formatで{0}の意味は何ですか?

string commandText = string.Format("Select * from {0}", filename); 

上記はどのように機能しますか?

+7

Googleの "String.Formatの" 例として

? – Joe

+2

SQLインジェクション攻撃のベクターを提供します。 – Andrew

+1

それは[複合フォーマット](http://msdn.microsoft.com/en-us/library/txafckwd.aspx)と呼ばれています(この種の質問のための便利なサイトであるMSDNのものです) –

答えて

6

{0}は、最初のオブジェクトのプレースホルダーです。この場合はfilenameなので、{0}の代わりに評価されるファイル名を挿入します。同様に、もちろん{1}を使用することができ、渡された2番目のパラメータに置き換えられます。

3

{0}String.Formatに渡される2番目のパラメータを指します。 {1}たとえば等、第四に、第三に{2}を指す:

String.Format("The {0} brown {1} jumps {2} the {3} dog.", "quick", "fox", "over", "lazy") 

は、“Select * from {0}”後提示引数にインデクサとフォーマット指定と組み合わせることができる

"The quick brown fox jumps over the lazy dog." 
1

{0}は、フォーマット文字列の後に渡される最初の引数への参照です。

あなたの場合は、"Select * from {0}"がフォーマット文字列で、filenameが最初の引数です。

String.Format("Select * from {0}{1}{0}","this","database")

を返します:

"Select * from thisdatabasethis"

関連する問題