ASP.NET会话数据是否已更改?

时间:2010-03-24 20:57:49

标签: asp.net session

List<Foo> fooList = Session["foo"] as List<Foo>;
fooList.Add(bar);

对Add()的调用是否会更改会话中的数据?换句话说:当我接下来从会话中提取“foo”时,列表中是否会包含bar

1 个答案:

答案 0 :(得分:2)

是会话将被更改,因为List<T>是参考类型。此fooList变量表示的所有内容都是指向真实对象的指针,Session["foo"]表示的所有内容也是指向同一对象的指针。因此,更改fooList将影响会话也指向的真实对象。如果在会话中存储值类型,行为将会有所不同。