String.Format中{0}的含义是什么?

例如,在以下示例中:

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

以上是如何工作的?

{0}是给定第一个对象的占位符; 在这种情况下,它是filename ,因此它将插入任何文件名求值来代替{0} 。 类似地,当然你可以使用{1} ,并且将被传递的第二个参数替换,等等。

{0}引用传递给String.Format的第二个参数。 {1}指的是第三个, {2}到第四个,等等。例如:

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

评估到

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

它表示文件名的值。 请参阅MSDN。

它是“Select * from {0}”之后的参数的索引器,也可以与格式说明符结合使用。 请参阅String.Format方法的文档。 但是,您永远不应该以这种方式创建SQL命令,因为它容易受到SQL注入攻击。 您应始终参数化SQL查询。 请参阅MSDN上的如何:在ASP.NET中保护SQL注入一文。

{0}是对格式字符串后传递的第一个参数的引用。

在您的情况下, "Select * from {0}"是格式字符串, filename是第一个参数。

举个例子:

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

会回来:

"Select * from thisdatabasethis"