Вам нужно опубликовать еще немного кода, чтобы помочь нам с # 2, например, как определяется searcher
.
Но ваш первый вопрос довольно прост.Строка {0}
является стандартным синтаксисом замены.Если бы вы написали это вместо этого:
objWriter.Write("Hello {0}, my name is {1}", "Alice", "Bob")
Это выписало бы:
Hello Alice, my name is Bob
{0}
представляет первый элемент после начальной строки (в программах числа начинаются с нуля, поэтомупервый ноль, второй один и т. д.).В вашем случае {0}
заменяется тем, что возвращает queryObj("Active")
.
Обычно вы можете иметь столько {X}
, сколько захотите, если у вас есть значения для их резервного копирования.Иметь больше значений - это нормально, слишком мало - ошибка, с которой вы столкнулись.
Так что все в порядке, потому что последнее ("Боб") просто игнорируется:
objWriter.Write("Hello {0}", "Alice", "Bob")
Но это нехорошо, потому что нам нечего заполнять {1}
objWriter.Write("Hello {0}, my name is {1}", "Alice")