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"