gpt4 book ai didi

c# - string.Replace 或 stringBuilder.Replace()

转载 作者:行者123 更新时间:2023-12-01 22:38:37 28 4
gpt4 key购买 nike

我是 C# 的新手,所以请原谅我的错误。

我想在每次调用该段代码时(每次调用 2-4 次)替换字符串的某些部分。我想知道哪种方法在性能方面更好:string.ReplacestringBuilder.Replace()

如果这段代码被并发调用10.000次呢??

最佳答案

找出哪个更快的最佳方法是针对您的特定问题对其进行基准测试 - 编写一个简单的测试工具并对两个选项进行计时。

话虽如此 - C# 字符串是 immutable ,这意味着您无法在创建后更改它们。当您调用 String.Replace 时,运行时必须为结果创建一个新的 String 实例。这意味着对同一字符串的一系列更改会很慢,因为运行时必须为每次操作创建一个新对象,每次都分配内存并复制字符串数据。

StringBuilder 专门设计为针对此类情况的可变字符串 - 以避免在每次操作时创建新的 String 实例。

因此,如果您对同一个字符串执行一系列 Replace 调用,StringBuilder 几乎肯定会更快。

关于c# - string.Replace 或 stringBuilder.Replace(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19044746/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com