C# 移除或替换,从字符串中移除子字符串时哪个更好?

C# 移除或替换,从字符串中移除子字符串时哪个更好?,c#,string,C#,String,我需要从字符串中删除子字符串的所有匹配项。我可以用移除或替换,哪一个更好 Remove不会删除特定子字符串的所有实例,当然,除非您首先查找所有索引。只有Replace可以做到这一点。Remove不会删除特定子字符串的所有实例,当然,除非您首先查找所有索引。只有替换才能做到这一点 我需要从字符串中删除所有出现的子字符串 考虑到您需要删除所有引用,替换肯定是一个更好的选择。Remove需要多次调用,每次都要找到位置以传递适当的索引和要删除的长度,这意味着您将创建许多临时字符串。这将需要更多的工作,并

我需要从字符串中删除子字符串的所有匹配项。我可以用移除或替换,哪一个更好

Remove不会删除特定子字符串的所有实例,当然,除非您首先查找所有索引。只有Replace可以做到这一点。

Remove不会删除特定子字符串的所有实例,当然,除非您首先查找所有索引。只有替换才能做到这一点

我需要从字符串中删除所有出现的子字符串

考虑到您需要删除所有引用,替换肯定是一个更好的选择。Remove需要多次调用,每次都要找到位置以传递适当的索引和要删除的长度,这意味着您将创建许多临时字符串。这将需要更多的工作,并在垃圾收集器上增加额外的工作来清理您生成的临时字符串

我需要从字符串中删除所有出现的子字符串


考虑到您需要删除所有引用,替换肯定是一个更好的选择。Remove需要多次调用,每次都要找到位置以传递适当的索引和要删除的长度,这意味着您将创建许多临时字符串。这将需要更多的工作,垃圾收集器将需要额外的工作来清理生成的临时字符串。

Remove需要获取要删除的字符串的索引,并且每次只删除一次,而replace只需要知道要替换的字符串,因此,在书写方式上,它更简单:

string foo = "bar";
string result;
result = foo.Remove(foo.IndexOf("a"));//you will have to repeat that for each instance


Remove需要获取要删除的字符串的索引,并且每次只删除一个匹配项,而replace只需要知道要替换的字符串,因此在编写时,replace更简单:

string foo = "bar";
string result;
result = foo.Remove(foo.IndexOf("a"));//you will have to repeat that for each instance


替换用于替换字符串的所有匹配项。Remove可以被认为是一个向后的子字符串,在其中放弃传递的字符串并保留其余的字符串。

替换用于替换所有出现的字符串。Remove可以被认为是一个向后的子字符串,在其中丢弃传递的字符串并保留其余的字符串。

如果必须替换全部,我将使用replacesearchstring,string.Empty如果必须替换全部,我将使用replacesearchstring,string.Empty如果必须替换,则不传递任何字符串。一个传递要删除的部分的起始索引整数和可选长度整数。使用remove时,不传递任何字符串。传递要删除的零件的起始索引整数和长度整数(可选)。