C# 多字符串替换性能
我正在使用C#开发web应用程序。我想替换字符串中的多个字符。 比如说,C# 多字符串替换性能,c#,C#,我正在使用C#开发web应用程序。我想替换字符串中的多个字符。 比如说, string str = "abc_def|ghij_klmn:opq|rst:uv_wx|yz"; str = str.Replace("_","-"); str = str.Replace("|",", "); str = str.Replace(":",". "); 或 以上是示例编码,实际上我想替换更多字符。上述两个代码中是否存在任何与性能相关的问题 这可能是一个重复的问题,我搜索过,但我没有找到 谢谢您提供的两
string str = "abc_def|ghij_klmn:opq|rst:uv_wx|yz";
str = str.Replace("_","-");
str = str.Replace("|",", ");
str = str.Replace(":",". ");
或
以上是示例编码,实际上我想替换更多字符。上述两个代码中是否存在任何与性能相关的问题
这可能是一个重复的问题,我搜索过,但我没有找到
谢谢您提供的两个示例彼此相同 现在,字符串替换通常完全取决于您的用例。例如,这不会对性能造成太大影响:
string str = "abc_def|ghij_klmn:opq|rst:uv_wx|yz";
str = str.Replace("_","-").Replace("|",", ").Replace(":",". ");
……但这将是:
for (var i = 0; i < 100000; i++) {
string str = "abc_def|ghij_klmn:opq|rst:uv_wx|yz";
str = str.Replace("_","-").Replace("|",", ").Replace(":",". ");
}
…并从那里链接替换调用
或者,如果这仍然不能为您提供所需的性能,您可以随时查看不安全的代码。。但是这需要完全不同的精力和理解水平。我发现类似的问题是关于String.Replace()的性能代码>请检查这一个:这两个示例应该具有几乎相同的性能。在一个表达式中编写三个方法调用不会改变这样一个事实,即您正在扫描字符串三次,并创建可立即进行垃圾收集的临时字符串实例。感谢链接。。
for (var i = 0; i < 100000; i++) {
string str = "abc_def|ghij_klmn:opq|rst:uv_wx|yz";
str = str.Replace("_","-").Replace("|",", ").Replace(":",". ");
}
var sb = new StringBuilder(str);