日期:2014-05-16  浏览次数:20581 次

【迷惑】一直没有明白ASP.NET中的变量作用域问题
按理说,由于HTTP协议的无状态性,ASP.NET中的变量应该只有局部变量(这里先不讨论Cookie Session Application 这些,只讨论像在单机程序开发中定义的那种类型变量),那么在函数或者类外面定义的不管Private还是 Public变量 这些全局变量并没有什么作用,除非是把它用作常量。我也试过,每次postback都会使这些变量初始化,但是发现在别人的项目中单一页面中定义有很多Public全局变量,由于代码太多,有点乱,一时理不清,不知道这是什么用法。不知小弟的理解对不对,欢迎各位拍砖。刚接触WEB编程不久,请轻拍~~
------解决方案--------------------
你把那些叫做“全局变量”?那么你说的就不是static变量喽。

如果有些人定义 class 范畴的局部变量,它大概就是想“省得调用其它class内方法时传递参数”这一种想法。这在几乎完全不懂编程的人、急于学编程好找工作的人那里一定会非常流行。

很显然,这种变量很快就会变成逻辑上的垃圾了。因为它不对方法的参数进行约束和说明。