c#中的string类型

问题:在asp.net页面中声明一个string类型的全局变量,在page_load函数中初始化,然后在其他函数中调用时不可用,指示为空。
原因:c#中,string类型被定义为引用类型,虽然其变量定义和初始化的格式与int等基本类型相似,但其本质还是对象,变量名是指向对象实例的引用,因此string变量的内存空间分配在堆上,当函数范围结束时,对应的堆空间被清空。当在另一个函数中再次调用全局的string变量时,由于其所指对象已被清空,变量值将不可用。
解决方案:把该string变量定义成static类型,使变量对象在堆栈空间分配相应内存,这样将不因为初始化变量的函数的结束而清空变量对象。 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值