加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net应用程序变量是通过引用还是值传递的?

发布时间:2020-12-16 06:51:58 所属栏目:asp.Net 来源:网络整理
导读:我最近发现,当在ASP.net应用程序中使用Session或Application对象时,它会通过引用传递值. 这在大多数情况下都很有效,但现在我在一个我真正需要数据副本的地方,而不是对它的引用,因为我会在完成处理时放弃对它的任何更改. 我也知道在应用程序的根目录中设置变
我最近发现,当在ASP.net应用程序中使用Session或Application对象时,它会通过引用传递值.

这在大多数情况下都很有效,但现在我在一个我真正需要数据副本的地方,而不是对它的引用,因为我会在完成处理时放弃对它的任何更改.

我也知道在应用程序的根目录中设置变量,有效地创建具有更好性能的全局应用程序变量,并消除会话/应用程序对象的所有投射疯狂.

有人知道应用程序变量是通过引用还是值传递?我似乎无法挖掘有关该主题的任何数据,并希望消除我目前必须将数据从Application对象“复制”到新变量进行处理的代码.

解决方法

这本身并不是一种ASP.NET现象……它是所有.NET框架中CLI所固有的.你应该看看Jon Skeet的经典 article on Parameter passing.

假设您正在处理引用类型,如果要克隆对象而不是简单地复制对象的引用,则需要手动克隆它. Here’s a good article解释了如何深度复制对象以及为什么MemberwiseClone方法只创建对象的浅表副本.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读