为什么我需要在asp.net中类型转换Viewstate变量
本文关键字:类型转换 Viewstate 变量 net asp 为什么 | 更新日期: 2023-09-27 18:09:26
我是asp.net的初学者,我遇到过以下这些语句
表述ViewState["clicks"] = 5;
2 声明
ViewState["clicks"] = (int)ViewState["clicks"] + 1;
我的疑问是,如果我能够直接分配int值…当我在viewstate变量中增加值时,为什么我需要进行类型转换?提前感谢.......
ViewState["clicks"]
返回一个object
。不能在Object
上使用+
-算子(加法)。因此,您需要将对象强制转换为其实际类型int
。然后编译。
右边先求值,然后赋值给ViewState
。如果你把它分成多行,可能会更清楚:
int oldClicks = (int)ViewState["clicks"];
int newClicks = oldClicks + 1;
ViewState["clicks"] = newClicks;
因为ViewState[]
将返回object
类型的对象