C# 填充前导零的字符串,其值已经是字符串?

C# 填充前导零的字符串,其值已经是字符串?,c#,.net-4.0,string.format,C#,.net 4.0,String.format,如果值为int,则上述方法有效,但在本例中,它们不能为int。是否可以使用string.Format中的字符串值进行填充,或者我必须执行以下操作: string n = string.Format("{0:000}-{1:00}-{2:00}-{3:00}-{4:000000}-{5:000000}" ,"20G","34","41","1","3G","2004"); 请查看帖子中的IFormating for string.Format[Pa

如果值为int,则上述方法有效,但在本例中,它们不能为int。是否可以使用string.Format中的字符串值进行填充,或者我必须执行以下操作:

string n = string.Format("{0:000}-{1:00}-{2:00}-{3:00}-{4:000000}-{5:000000}"
                        ,"20G","34","41","1","3G","2004");

请查看帖子中的IFormating for string.Format[Pad left或right with string.Format(而不是padleft或padright)with Arbital string][1][1]:您可能可以使用。但我怀疑这种方法对简单的PadLeft/right的有用性,这是不是没有选择<代码>字符串n=string.Format(“{0:000}G-{1:00}-{2:00}-{3:00}-{4:000000}G-{5:000000}”,20,34,41,1,32004)。尽可能晚地将数字转换为字符串。我假设您在这里过早地将它与另一个信息混合在一起了。@TimSchmelter-这不是一个选项,因为字母并不总是G,它是可选的,它们必须作为字符串传递,而不是int。
string n = string.Format("{0}","20G".PadLeft(3,'0'));