Как установить именованный аргумент для string.Format?

У меня есть ошибка С# при вызове:

string.Format(format:"abbccc", 1,22);

Ошибка: "Именованные аргументы должны появляться после того, как были заданы все фиксированные аргументы"

Как я могу это исправить?

[изменить]

Я предпочитаю использовать именованные параметры.

Ответ 1

Если вы хотите указать имя аргумента формата, вы также должны указать имя следующего аргумента:

string.Format(format:"abbccc", arg0:1, arg1:22);

Это не очень полезно, поскольку имена "arg0" и "arg1" вообще ничего не говорят о аргументах.

Кроме того, есть только перегрузки до "arg2", поэтому, если у вас больше аргументов, вы должны поместить их в массив, чтобы назвать аргумент:

string.Format(format:"abbccc", args:new object[] { 1, 2, 3, 4 });

Вы можете просто пропустить присвоение имен аргументам:

string.Format("abbccc", 1, 22);

Ответ 2

В моем случае мне пришлось очистить и перестроить решение, из-за которого ошибка исчезла. Что случилось, я добавил такой аргумент

sched.ScheduleJob(Jobdetail: задание, триггер);

Я получал ошибку для триггера, поэтому я удалил JobDetail:, и синтаксическая ошибка исчезла, но при усложнении я все еще получал ошибку

Именованные аргументы должны появляться после всех фиксированных аргументов были указаны

Я очистил решение и перестроил, и ошибка исчезла.