繁体   English   中英

为什么我需要在asp.net中类型转换Viewstate变量

[英]Why do I need to typecast Viewstate Variables in asp.net

我是asp.net的初学者,遇到以下这些陈述

陈述1

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类型的object

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM