gpt4 book ai didi

.net - 请澄清我对对象和引用以及值类型的理解是当前的?

转载 作者:行者123 更新时间:2023-12-01 01:35:36 24 4
gpt4 key购买 nike

请澄清我对对象和引用以及值类型的理解是当前的?

对象是指我们在执行程序时分配内存的 RAM 中的内存位置

引用是指内存中的一个位置(地址)。

通过引用方式传递 - 我们将内存位置传递或指向函数,以获取传递内存地址的函数的值。

通过值传递意味着我们没有给出任何地址,而是为函数提供了实际值。这个值是从哪里来的?执行时不接触ram吗?它仅来自另一个内存位置......但是在视觉上下文中执行有什么不同?我怎么能想象?

最佳答案

我不会担心内存/等。

从概念上讲,这里的主要区别在于您传递给方法的内容。

当您通过引用传递(C# 中的 ref 或 out)时,您传递的是原始对象在内存中的位置。

当您按值传递时,您是在复制实际变量的值,并且该方法会按值接收先前调用堆栈中使用的变量的完整副本。

如果变量是引用类型,则传递的值是对对象的引用,它基本上是一个内存位置。引用被复制到方法中。

如果所讨论的对象是值类型,则复制整个对象,并且该方法接收该对象的副本。

关于.net - 请澄清我对对象和引用以及值类型的理解是当前的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2320187/

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