gpt4 book ai didi

c# - 使用现有 key 向 Session 添加新对象是否会替换旧对象?

转载 作者:太空宇宙 更新时间:2023-11-03 23:06:36 28 4
gpt4 key购买 nike

假设我将一个对象放入具有特定键的 session 变量中。后来我用相同的键放置了另一个对象。最后我会得到什么?

Session["keyA"] = objectA;

稍后再请求

Session["keyA"] = objectB;

objectAobjectB 都是List<T> .结果是包含来自 objectAobjectB 的行的 objectC

我的理解是,当您将新对象与现有对象放在一起时,新对象会替换旧对象。

也许我在其他地方有另一个错误导致了这种行为,但到目前为止这就是我遇到的情况。

为什么会这样?

最佳答案

如果使用赋值运算符导致类似的行为,那么您的代码中的某处发生了其他事情。没有理由设置 Session["keyA"]objectB将导致它与 objectA 结合.

Session就此答案而言,是 Dictionary<string, object> .尝试运行这段代码:

var d = new Dictionary<string, object>();
var objectA = new List<string> { "a", "b", "c" };
var objectB = new List<string> { "d", "e", "f" };
d["keyA"] = objectA;
d["keyA"] = objectB;
if (d["keyA"] == objectB) {
Console.WriteLine("has objectB at 'keyA'");
} else {
Console.WriteLine("has something else, I don't know");
}

also here

这应该在控制台中写入“在'keyA'处有objectB”。

如果没有出现严重错误,您应该立即拔下计算机插头,取出所有电池,并以安全的方式处理整个设备。

关于c# - 使用现有 key 向 Session 添加新对象是否会替换旧对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41001866/

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