Что означает {0} в String.Format? - PullRequest
0 голосов
/ 09 марта 2012

Например, в следующем примере:

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

Как работает вышеуказанное?

Ответы [ 5 ]

6 голосов
/ 09 марта 2012

{0} - заполнитель для первого заданного объекта; в данном случае это filename, поэтому вместо {0} будет вставлено любое имя файла. Точно так же, конечно, вы можете использовать {1}, и это будет заменено вторым переданным параметром и т. Д.

4 голосов
/ 09 марта 2012

{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."
2 голосов
/ 09 марта 2012

Это означает значение имени файла. См. MSDN.

1 голос
/ 09 марта 2012

{0} является ссылкой на первый аргумент, переданный после строки формата.

В вашем случае "Select * from {0}" - это строка формата, а filename - первый аргумент.

Как пример:

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

вернется:

"Select * from thisdatabasethis"

1 голос
/ 09 марта 2012

Он является индексатором аргументов, представленных после “Select * from {0}”, и может также комбинироваться со спецификаторами формата.См. Документацию для String.Format Method .Однако НИКОГДА не создавайте команду SQL таким образом , поскольку она уязвима для SQL-инъекций атак.Вы всегда должны параметризовать запросы SQL.См. Статью Как: защитить от SQL-инъекций в ASP.NET на MSDN.

...