Мне нужна помощь с string.format, чтобы вставить три пробела каждые три цифры. Эта цифра имеет фиксированную длину в 12 цифр.
var membershipNo = string.Format("{0:### ### ### ###}", "123123123123");
Console.WriteLine(membershipNo);
Результат: 123123123123
Ожидается: 123 123 123 123
Также - какой результат вы ожидаете от "000123123123"?





Этот тип форматирования не работает для экземпляра string. Рассмотрите возможность передачи целого числа (или любого другого числового типа), и оно будет работать так, как ожидалось.
int number = 123123123123;
var membershipNo = string.Format("{0:### ### ### ###}", number);
Console.WriteLine(membershipNo);
0:### ### ### ###— это строка числового формата, а не строковый формат. Откуда берутся цифры вmembershipNo? Если это всегда цифры, почему вы храните их в виде строки, а не длинной?