gpt4 book ai didi

c# - 在函数之间通过引用传递字符串是否更快?

转载 作者:太空狗 更新时间:2023-10-30 00:15:41 28 4
gpt4 key购买 nike

在 C# 中通过引用传输小字符串或大字符串哪个更好?我假设按值传输会强制运行时创建输入字符串的克隆,因此速度较慢。因此,是否建议所有字符串函数都通过引用传递值?

最佳答案

I assumed transferring by value would force the runtime to create a clone of the input string, and thus be slower.

您的假设不正确。 String是引用类型——调用带有字符串参数的方法只是按值复制该引用。不涉及克隆。它是固定大小 - 4 或 8 个字节,具体取决于您使用的 CLR。​​

(即使它是一个值类型,它基本上也必须包含对其他东西的引用 - 直接在堆栈上分配一个可变大小的值类型是没有意义的。将分配多少空间对于变量?如果将变量的值更改为更短或更长的字符串会发生什么?)

关于c# - 在函数之间通过引用传递字符串是否更快?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12234283/

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