gpt4 book ai didi

c# - 在不创建额外内存的情况下反转字符串

转载 作者:太空狗 更新时间:2023-10-29 23:55:01 27 4
gpt4 key购买 nike

我有一个大约 1mb 大小的字符串。要求是在不分配另一个大小为 1 MB 的临时字符串的情况下反转字符串。我尝试了以下代码

string name = "abcde";

string target = "";
for(int i = name.Length - 1; i >=0; i--)
{
target += name[i];
name = name.Remove(i);
int n = name.Length;
}

但是我的 friend 说如果我们使用函数name.Remove(i) 它将返回一个新字符串但是不能保证旧字符串将从内存中删除所以没有保证尺寸会减小。是真的吗?如果是这样,是否有任何其他选项可用于在不分配额外内存的情况下反转字符串?

最佳答案

您的字符串“abcde”在内存中是一个常量。你不能改变它,因为它是不可变的。你想要的是创建一个新的字符串,为此你需要新的内存。

关于c# - 在不创建额外内存的情况下反转字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11340886/

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