gpt4 book ai didi

c# - 哪个物体比较轻

转载 作者:太空宇宙 更新时间:2023-11-03 17:47:08 24 4
gpt4 key购买 nike

我在这里很困惑。哪个物体较轻?是 orgWithNullImageCollection 还是 orgWithImageCollection?在下面的代码中。或者它是更轻的对象概念。请在下面找到代码片段以供引用。


class Orgnization
{
public Collection ImageCollection { get; set; }
}

Organization orgWithNullImageCollection = new Organization();
org.ImageCollection = null;


Collection imageCollection = new Collection();
// Adding 100 images to imageCollection

Organization orgWithImageCollection = new Organization();
org.ImageCollection = imageCollection;

如果我将这两个对象传递给任何其他方法,性能会有什么不同吗?即在 orgWithImageCollection 上传递 orgWithNullImageCollection ?

我相信,Organization 对象的 ImageCollection 属性是否指向某物不会有任何区别。

请澄清。

最佳答案

您永远不会在 C# 中传递对象 - 只传递值类型的值或引用。在这种情况下,您将在处理类时传递引用。无论引用的对象(如果有)的内容如何,​​引用都将具有相同的大小(4 或 8 字节)。

在这种情况下,两个对象的大小相同 - 只是其中一个对象具有空引用,而另一个对象具有对集合的引用。

因此,您可以将集合中的那个视为“更重”,因为它涉及两个对象而不是一个。显然,额外的集合会占用内存 - 而空引用不引用任何对象,因此只需要空引用本身的大小。

有关更多信息,请参阅我关于 value types and reference types 的文章和 argument passing .

关于c# - 哪个物体比较轻,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1412345/

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