我是asp.net的初学者,我遇到过以下这些陈述
声明1
android:layout_margin="10dp"
声明2
ViewState["clicks"] = 5;
我的疑问是,如果我能够直接赋值int ...当我在viewstate变量中递增值时,为什么需要进行类型转换? 在此先感谢.......
答案 0 :(得分:2)
ViewState["clicks"]
会返回object
。您无法在Object
上使用+
-operator(添加)。因此,您需要将对象强制转换为实际类型int
。然后它编译。</ p>
首先评估右侧并将其分配回ViewState
。如果你把它分成多行,也许它会越来越清晰:
int oldClicks = (int)ViewState["clicks"];
int newClicks = oldClicks + 1;
ViewState["clicks"] = newClicks;
答案 1 :(得分:1)
因为ViewState[]
将返回object
类型的对象。