这样的一种使用场景: 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的效率高?
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的效率高?
2.用屁股想都知道是B,类型转化一次当然比转化一百次快
2.用屁股想都知道是B,类型转化一次当然比转化一百次快
上面这句能清除Session里面存放的dt里面的内容。表将变成空表,Session["dt"]仍存在
2、B的效率高一些
2.肯定是B好了。