gpt4 book ai didi

vb.net - VB.NET,对象是通过函数引用返回的

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

这应该是一个相当普遍的问题,但是我在任何地方都找不到一个简单的答案。

如果我在VB.NET中的函数中实例化一个对象并将其返回,则它是按引用还是按值返回它。 IE-如果我编写如下代码,我应该担心性能:

Public Function ret_obj_func() As big_object
Dim ret_obj As New big_obj(<lots of stuff>)
Return ret_obj
End Function

如果我从其他地方调用此函数,它将在ret_obj中实例化该对象,然后创建一个深拷贝以将副本传递回调用方,还是只是传递回引用?

最佳答案

它只是传回一个引用(假设big_obj是一个类)。在这里,我将不使用“通过引用”一词,因为在参数传递方面它具有微妙的含义-但假设big_obj是一个类-引用类型-ret_obj的值是一个引用,该引用将是返回的东西。

从VB的角度来看,我没有任何文章,但是如果您乐于看C#,那么您可能会发现这些文章很有用:

  • Reference and value types
  • Parameter passing in C#
  • 关于vb.net - VB.NET,对象是通过函数引用返回的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6962371/

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