Ну, вы можете использовать:
string result = "123" + text.PadLeft(9, '0');
Другими словами, разделите задачу пополам - одна часть генерирует часть «000028431», «000000987» и т. Д., Используя string.PadLeft
, а другая префикс результата - «123» с использованием простой строки конкатенация.
Без сомнения, есть более эффективные подходы, но это то, что я бы сделал, если бы у меня не было веской причины полагать, что эффективность действительно важна для этой задачи.