C# 如何替换出现的“事件”-&引用;用空字符串?

C# 如何替换出现的“事件”-&引用;用空字符串?,c#,string,C#,String,我有这个字符串:“123-456-7” 我需要得到这个字符串:“1234567” 如何将“-”替换为空字符串?这应该可以做到: string r = "123-456-7"; r = r.Replace("-", ""); String st = "123-456-7".Replace("-",""); 为了清楚起见,您希望将每个连字符(-)替换为空白/无。 如果将其替换为backspace,则会删除其前面的字符 这将导致: 123-456-7==>12457 肖恩·布莱特的答案是正确的。

我有这个字符串:“123-456-7”

我需要得到这个字符串:“1234567”


如何将“-”替换为空字符串?

这应该可以做到:

string r = "123-456-7";
r = r.Replace("-", "");
String st = "123-456-7".Replace("-","");

为了清楚起见,您希望将每个连字符(-)替换为空白/无。 如果将其替换为backspace,则会删除其前面的字符

这将导致: 123-456-7==>12457

肖恩·布莱特的答案是正确的。

在你的情况下是这样的

string str = "123-456-7";
string tempstr = str.Replace("-","");
对于.Net 1.0字符串。Empty不会占用堆上的额外空间,但“”需要堆上的存储及其在堆栈上的地址,从而产生更多的程序集代码。因此String.Empty比“”快

还有String.Empty表示没有输入错误


检查链接。

使用String.Empty或null代替“因为”将在内存中为每次出现创建一个对象,而其他人将重用同一对象。

我不相信这是真的。String.Empty是“”的常量。编译器将所有“”文本指向String.Empty。不管你有多少个“文字”。谢谢AMissico。。。我刚刚检查了3.5框架的堆,您是对的,包括“”和String.Empty指向同一位置。但是,对于1.0,堆上将为“”分配空间。我相应地编辑了答案:)只是不正确,请看正确!很抱歉我确实拍错了照片。谢谢你纠正我。小心,如果你使用单引号(表示字符)=>
r.Replace('-','')那只不过是咬了我一口**
string r = "123-456-7".Replace("-", String.Empty);