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

У меня ошибка C# при звонке:

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

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

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

[Редактировать]

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

2 ответа

Решение

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

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);

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

sched.ScheduleJob(Jobdetail:job, триггер);

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

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

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

Другие вопросы по тегам