来一篇关于NET的小结ASP.NET中static关头字的相干用法
竟发现没有太大的帮助。总觉得要用起来,感觉到不了位。因为公司机器的原因,一直没有安装vs.net(也从来没有用过)。以前做asp的时候一直用DW(感觉其代码联想功能不错),可现在到了asp.net却不习惯了。<p>人人关于static关头字应当对照眼生了,可是良多人对static关头字不睬解,这实在就是关于auto的不睬解。static关头字不是auto,变量在程序初始化时被分派,直到程序加入前才被开释。静态变量
当我们编写一个类时,实在就是在形貌其工具的属性和举动,而并没有发生本色上的工具,只要经由过程new关头字才会发生出工具,这时候体系才会分派内存空间给工具,其办法才能够供内部挪用。
偶然候,我们但愿不管是不是发生了工具或不管发生了几工具的情形下,某些特定的数据在内存空间里只要一份,比方一切的中国人都有国度称号,每个中国人都共享这个国度称号,不用在每个中国人的实例工具中都独自分派一个用于代码国度称号的变量。例子:
<OLclass=dp-xml>protectedvoidPage_Load(objectsender,EventArgse){//间接利用“类名.成员”的格局,不克不及利用“工具名.成员”的格局,这点与JAVA纷歧样,JAVA两种都可使用Response.Write(Chinese.Country);}classChinese{publicstaticstringCountry="中国";publicvoidgetCountry(){//类中的成员办法也能够间接会见静态成员变量HttpContext.Current.Response.Write("你好!"+Country);}}
必要注重的是:不克不及把任何办法体内的变量声明为静态,以下面如许是不可的:
<OLclass=dp-xml>publicvoidgetCountry(){//类中的成员办法也能够间接会见静态成员变量HttpContext.Current.Response.Write("你好!"+Country);staticinti=1;}
静态办法
我们偶然也但愿不用创立工具就能够挪用某个办法,换句话说也就是使该办法不用和工具绑定在一同。要完成如许的效果,只必要在类中界说的办法前加上static关头字就能够了,我们称这类办法为静态成员办法,还能够在类的非静态成员办法中象会见其他静态办法一样往会见这个静态办法,例子:
<OLclass=dp-xml>protectedvoidPage_Load(objectsender,EventArgse){Chinese.getCountry();}classChinese{publicstaticvoidgetCountry(){HttpContext.Current.Response.Write("你好!中国");}}
注重:在静态办法里只能间接挪用同类中其他的静态成员(包含变量和办法),而不克不及间接会见类中的非静态成员。这是由于,关于非静态的办法和变量,必要先创立类的实例工具后才可使用,而静态办法在利用前不必创立任何工具。
const和staticreadonly切实其实很像:经由过程类名而不是工具名举行会见,在程序中只读等等。在多半情形下能够混用。
两者实质的区分在于,const的值是在编译时代断定的,因而只能在声明时经由过程常量表达式指定其值。而staticreadonly是在运转时盘算出其值的,以是还能够经由过程静态机关函数来赋值。
要了解static,就必需要先了解另外一个与之绝对的关头字,良多人大概都还不晓得有这个关头字,那就是auto,实在我们一般声明的不必static润色的变量,都是auto的,由于它是默许的,就象short和long老是默许为int一样;我们一般声明一个变量:
<OLclass=dp-xml>inta;strings;
实在就是:
<OLclass=dp-xml>autointa;autostrings;
而static变量的声明是:
<OLclass=dp-xml>staticinta;staticstrings;
如许仿佛能够更有益于了解auto和static是一对成对的关头字吧,就像private,protected,public一样;
关于static关头字的不睬解,实在就是关于auto的不睬解,由于它是更一样平常的;有的器材你每天在用,但一定就代表你真正懂得它;auto的寄义是由程序主动把持变量的保存周期,一般指的就是变量在进进其感化域的时分被分派,分开其感化域的时分被开释;而static就是不auto,变量在程序初始化时被分派,直到程序加入前才被开释;也就是static是依照程序的性命周期来分派开释变量的,而不是变量本人的性命周期
<p>我觉得很重要,一般所说的不重要应该指的是:你学好一种以后再学另一种就很容易了。(因为这样大家可能有一个错觉就是语言不是很重要,只要随便学一种就可以了,其实不是这样的。 可以通过在现有ASP应用程序中逐渐添加ASP.NET功能,随时增强ASP应用程序的功能。ASP.NET是一个已编译的、基于.NET的环境,可以用任何与.NET兼容的语言(包括VisualBasic.NET、C#和JScript.NET.)创作应用程序。另外,任何ASP.NET应用程序都可以使用整个.NETFramework。开发人员可以方便地获得这些技术的优点,其中包括托管的公共语言运行库环境、类型安全、继承等等。 当然我们在选择Asp.net主机是,除了要考虑服务提供商在版本是否是实时更新以外,机房的环境和配置也是非常重要的,通常选择骨干网的机房,在速度和稳定性上会非常有保证。 虽然在形式上JSP和ASP或PHP看上去很相似——都可以被内嵌在HTML代码中。但是,它的执行方式和ASP或PHP完全不同。在JSP被执行的时候,JSP文件被JSP解释器(JSPParser)转换成Servlet代码,然后Servlet代码被Java编译器编译成.class字节文件,这样就由生成的Servlet来对客户端应答。所以,JSP可以看做是Servlet的脚本语言(ScriptLanguage)版。 主流网站开发语言之CGI:CGI就是公共网关接口(CommonGatewayInterface)的缩写。它是最早被用来建立动态网站的后台技术。这种技术可以使用各种语言来编写后台程序,例如C,C++,Java,Pascal等。 ASP.NET:ASP.net是Microsoft.net的一部分,作为战略产品,不仅仅是ActiveServerPage(ASP)的下一个版本;它还提供了一个统一的Web开发模型,其中包括开发人员生成企业级Web应用程序所需的各种服务。ASP.NET的语法在很大程度上与ASP兼容,同时它还提供一种新的编程模型和结构,可生成伸缩性和稳定性更好的应用程序,并提供更好的安全保护。 最强的技术支持WebService,而且有.NET的所有library做后盾。而且ASP.NET在.NET3.5中还有微软专门为AJAX开发的功能--ASP.NETAJAX。 我觉得什么语言,精通就好,你要做的就是比其他80%的人都厉害,你就能得到只有20%的人才能得到的高薪。
页:
[1]