C# 如何从另一个字符串c生成指定长度的字符串#

C# 如何从另一个字符串c生成指定长度的字符串#,c#,string,string-length,C#,String,String Length,例如,我有如下字符串: “5”、“8”、“14”、“260” 我想得到如下结果: “ST00000005”、“ST00000008”、“ST00000014”、“ST00000260” 结果字符串长度为10个字符。我怎么做呢?你可以这样做 string s = "215"; s = s.PadLeft(8, '0').PadLeft(9,'T').PadLeft(10,'S'); 我会将它存储为int而不是字符串。然后您可以使用适当的格式说明符D8。这具有f.e.的优势,即您可以增加数量:

例如,我有如下字符串:

“5”、“8”、“14”、“260”

我想得到如下结果:

“ST00000005”、“ST00000008”、“ST00000014”、“ST00000260”

结果字符串长度为10个字符。我怎么做呢?

你可以这样做

string s = "215";
s = s.PadLeft(8, '0').PadLeft(9,'T').PadLeft(10,'S'); 

我会将它存储为
int
而不是字符串。然后您可以使用适当的格式说明符
D8
。这具有f.e.的优势,即您可以增加数量:

int number = 5;
string result = String.Format("ST{0}", number.ToString("D8"));
或不带
ToString
但仅限于:

阅读:特别是

如果需要将字符串转换为
int
请使用或
int.TryParse

为完整起见,如果必须使用字符串,请使用:

这正是你想要的


编辑:请记住,这只能在C#6中与字符串一起使用。

您已经尝试了什么?类似于添加“TS”,在它之后添加“0”直到字符串。长度将为10。但它对我来说并不正确,所以我想找到另一个(可能更好)的解决方案。我认为如果你展示你的代码和问题所在,你不会得到“-2”。你总是能想出一些令人兴奋的东西。从你的帖子中学到了很多。请检查我的答案@Tim,因为我认为这是C语言中更有趣的方式#6@RajeevKumar如果你使用字符串,它会更令人兴奋interpolation@Mafii:我还不可能检查C#6的特性,比如字符串插值。即使使用旧的C#,也可以使用'{0:D8}你应该提到它是一个叫做字符串插值的C#6特性。然而+1@TimSchmelter泰补充道。
string result = String.Format("ST{0:D8}", number);
string numStr = "5";
String result = String.Format("ST{0}", numStr.PadLeft(8, '0'));
int number = 5; // put the number here

string result = $"ST{number:0000000#}";

// Or:

string result = $"ST{number:D8}";