当前位置: 首页 > 编程语言 > C#

string.Empty和null需要多少空间?共享

时间:2023-04-11 01:01:02 C#

string.Empty和null需要多少空间?空字符串和null占用多少内存?我发现这个问题谈论的是String.Empty内存分配但不是null。如果我想在会话中存储一个空字符串或null,哪个会占用更少的空间?类MyClass{公共字符串一{得到;放;}公共字符串二{得到;放;}publicMyClass(stringone,stringtwo){One=one;二=二;}}classMain{varemp=newMyClass(String.Empty,String.Empty);varnul=newMyClass(null,null);在MyClass中,绝对没有区别。两者都是“引用的大小”——4字节或8字节。如果该值引用任何其他字符串,它也将占用相同数量的空间。空字符串对象当然会占用空间,但是占用空间是一样的,但是会有很多其他的引用。(换句话说,无论您是否引用它,对内存都没有任何影响......string.Empty字段仍将引用它,因此不会被垃圾收集。)我猜两者是一样的。一种是空引用(即一些神奇的内部引用值可能为空保留),一种是对类中静态字段的引用。我怀疑它们在记忆方面会有所不同。注意:这是一个猜测,不是知识,但无论实际答案是什么,我怀疑你会看到很大的不同。如果有那么多,预计它们在几个字节的范围内。不管怎样,你为什么要担心这个而不是花时间解决实际的、有趣的或重要的问题呢?如果你想做一些事情,比如一个字符串使用的空闲空间,不管你选择哪个,都可以使用null。它可能会节省内存(尽管自从String.Empty池以来就很可疑),但这并不重要。空是正确的。如果您希望数据完全没有任何内容,请使用null。如果你真的希望字符串为空(即如果你想稍后操作该空字符串),请使用string.empty。内存在这里不应该成为问题。以上就是C#学习教程:string.Empty和null需要多少空间?如果所有分享的内容对你有用,需要进一步了解C#学习教程,希望大家多多关注。本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处: