gpt4 book ai didi

asp.net - asp.net 应用程序变量是按引用还是按值传递?

转载 作者:行者123 更新时间:2023-12-05 00:08:51 24 4
gpt4 key购买 nike

我最近发现在 ASP.net 应用程序中使用 Session 或 Application 对象时,它通过引用传递值。

这在大多数情况下都很好用,但现在我真的需要一份数据的副本,而不是对它的引用,因为在完成处理后我会放弃对它的任何更改。

我也知道在应用程序的根中设置变量,有效地创建具有更好性能的全局应用程序变量并消除 session /应用程序对象的所有类型转换疯狂。

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

最佳答案

这本身并不是 ASP.NET 现象……它是所有 .NET 框架中的 CLI 所固有的。你应该看看乔恩斯基特的经典article on Parameter passing .

假设您正在处理引用类型,如果您想克隆一个对象而不是简单地复制对对象的引用,您将需要手动克隆它。 Here's a good article这解释了如何深度复制对象以及为什么 MemberwiseClone方法只创建对象的浅拷贝。

关于asp.net - asp.net 应用程序变量是按引用还是按值传递?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1132373/

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