Session.Clear()的问题

搬砖de蚂蚁 2009-07-24 05:45:43
这样的一种使用场景:

dt是一个DataTable,有一些数据,存入Session中了。
1.
((DataTable)Session["dt"]).Clear();
上面这句能清除Session里面存放的dt里面的内容吗?为什么?
2.
A.
for(int i=0;i<100;i++)
{
.....得到dr是一个DataRow
((DataTable)Session["dt"]).Rows.Remove(dr);
}
B.
DataTable dt = ((DataTable)Session["dt"]);
for(int i=0;i<100;i++)
{
.....得到dr是一个DataRow
dt.Rows.Remove(dr);
}
Session["dt"] = dt;
从效率上来说是A效率高还是B的效率高?
...全文
253 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
xinkjack 2009-07-28
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 xianao16888 的回复:]
1、((DataTable)Session["dt"]).Clear();
  上面这句能清除Session里面存放的dt里面的内容。表将变成空表,Session["dt"]仍存在
2、B的效率高一些
[/Quote]
b不光效率高,而且正规,方便修改和扩展调用!
xinkjack 2009-07-28
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 xianao16888 的回复:]
1、((DataTable)Session["dt"]).Clear();
  上面这句能清除Session里面存放的dt里面的内容。表将变成空表,Session["dt"]仍存在
2、B的效率高一些
[/Quote]
b不光效率高,而且正规,方便修改和扩展调用!
sadikaqy 2009-07-28
  • 打赏
  • 举报
回复
1.不可以
2.方法B效率高
mbh0210 2009-07-28
  • 打赏
  • 举报
回复
1.楼主为什么不用Session.Remove("dt")了。
2.肯定是B好了。
夏脑 2009-07-28
  • 打赏
  • 举报
回复
1、((DataTable)Session["dt"]).Clear();
上面这句能清除Session里面存放的dt里面的内容。表将变成空表,Session["dt"]仍存在
2、B的效率高一些
搬砖de蚂蚁 2009-07-28
  • 打赏
  • 举报
回复
不知道楼上位进行过试验没有?没有试验是没有发言权的!
红街咖啡 2009-07-25
  • 打赏
  • 举报
回复
恩。楼上说的对。
lylymb 2009-07-24
  • 打赏
  • 举报
回复
1.不可以
2.B好。因为来回类型转化会降低效率的
mb_1985 2009-07-24
  • 打赏
  • 举报
回复
1.不可以,因为是先进行类型转化为DataTable后才Clear的
2.用屁股想都知道是B,类型转化一次当然比转化一百次快
mb_1985 2009-07-24
  • 打赏
  • 举报
回复
1.不可以,因为是先进行类型转化为DataTable后才Clear的
2.用屁股想都知道是B,类型转化一次当然比转化一百次快
Yjpgyje 2009-07-24
  • 打赏
  • 举报
回复
1.不可以
2.方法B效率高
net105 2009-07-24
  • 打赏
  • 举报
回复
1.不可以
2.方法B效率高

110,571

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧