Рассмотрим string.Format()
, параметры которого являются строкой и, в частности, в списке перегрузки, object[]
или многими объектами.
Это утверждение преуспевает:
string foo = string.Format("{0} {1}", 5, 6);
как это делает:
object[] myObjs = new object[] {8,9};
string baz = string.Format("{0} and {1}", myObjs;
как и массив строк:
string[] myStrings = new string[] {"abc", "xyz"};
string baz = string.Format("{0} {1}", myStrings);
Кажется, что целые числа, если они указаны отдельно, могут быть помещены в ящик или принудительно введены для ввода object
, который, в свою очередь, принуждается к строке.
Этот оператор не работает в время выполнения.
int[] myInts = new int[] {8,9};
string bar = string.Format("{0} and {1}", myInts);
Индекс (основанный на нуле) должен быть больше или равен нулю и меньше размера списка аргументов.
- Почему массив int не может или не может быть принужден или помечен в поле
object[]
илиstring[]
? - Из небольшого количества любопытства, почему компилятор не поймал это?