如何在C#中为字符串添加字符

Rob*_*res 3 c#

问题:我想在手机中添加字符.

因此,我想显示(###)### - ####,而不是显示### - ### - ####.

我尝试了以下方法:

string x = "Phone_Number";
string y = x.Remove(0,2);//removes the "1-"
Run Code Online (Sandbox Code Playgroud)

从这里开始,我不确定如何在###周围添加"()"

任何帮助,将不胜感激.

Bil*_*ell 5

值得注意的是,字符串在C#中是不可变的.这意味着如果你试图修改一个字符串,你将总是被赋予一个新的字符串对象.

一种方法是转换为数字(作为健全性检查),然后格式化字符串

var result = String.Format("{0:(###) ###-####}", double.Parse("8005551234"))
Run Code Online (Sandbox Code Playgroud)

如果您不想进行双重转换,那么您可以执行以下操作:

var result = String.Format("({0}) {1}-{2}", x.Substring(0 , 3), x.Substring(3, 3), x.Substring(6));
Run Code Online (Sandbox Code Playgroud)

或者,如果你已经有连字符,并且真的只想在括号中插入,那么你可以这样做:

var result = x.Insert(3, ")").Insert(0, "(");
Run Code Online (Sandbox Code Playgroud)