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/