gpt4 book ai didi

.net - string.Empty 在 CLR 中占用多少空间

转载 作者:行者123 更新时间:2023-12-04 23:31:02 26 4
gpt4 key购买 nike

string.Empty有多少空间接受CLR?
我猜它只是 NULL 的一个字节特点。

最佳答案

不,字符串是一个完整的对象,具有对象头(包含类型引用、同步块(synchronized block)等)、长度以及所需的任何字符......这将是一个空字符(两个字节)和适当的填充以进行舍入总共最多 4 或 8 个字节。

请注意,尽管 .NET 中的字符串有一个长度字段,但为了互操作,它们仍然以空值结尾。长度中不包含空字符。

当然,string.Empty无论您使用多少次,都只会引用一个对象......但引用将是 4 或 8 个字节,所以如果您有:

string a = string.Empty;
string b = string.Empty;
string c = string.Empty;

这将是三个引用(12 或 24 字节)都引用同一个对象(大小可能约为 20 或 24 字节)。

关于.net - string.Empty 在 CLR 中占用多少空间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5079753/

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