gpt4 book ai didi

c# - .net 字符串缓存/池

转载 作者:太空狗 更新时间:2023-10-30 00:17:07 27 4
gpt4 key购买 nike

.net sting 类是否支持缓存/池机制以减少分配开销?

最佳答案

字符串文字是 interned 的,如果这就是你所说的:

string x = "hello";
string y = "hel" + "lo";
string z = "h" + "ello";

bool a = object.ReferenceEquals(x, y);
bool b = object.ReferenceEquals(y, z);

ab 都保证为真。

您可以调用string.Intern你自己也是。

但是就普通字符串而言(例如,string.Format 返回的字符串对象),答案是否定的,默认情况下它们不会被缓存。但是如果绝对必要,您可以创建自己的缓存或实习它们。由于许多字符串都是短暂的,我怀疑在大多数情况下不值得缓存。

关于c# - .net 字符串缓存/池,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3577287/

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