仓酷云
标题:
ASP.NET网页设计const string 和 static readonly string的区分仓酷云
[打印本页]
作者:
柔情似水
时间:
2015-1-18 11:16
标题:
ASP.NET网页设计const string 和 static readonly string的区分仓酷云
我认为,可以通过更加简单的首次编译,而增加第二次编译的负担,来提高net网页编程的运行效率。只是将net网页编程源代码进行简单的等价转换,而不假设编译成某种虚拟机器的目标格式,而由本地编译器针对性的二次编译。当跨assemblies的时分要出格注重二者的区分,请看这篇文章
ifthescopeofyourconstantislimitedtojustoneassembly,class,orsmaller(youcandefineaconstinsideamethod),thisisnotabigdeal.However,iftheconstisvisibleoutsidetheassemblyitisdefinedin,wemustbewary!Becausethe
const’s
valueissubstitutedatcompiletime,thismeansthatiftheassemblythatdefinestheconstchangesitsvalue,butthecallingassemblyisn’trecompiled,thenthecallingassemblywillstillseetheoriginalvalue.
Let’sillustrate.AssumeaclasslibrarycalledShapes.DLLthatdefinesthis:
1:publicclassCircle
复制代码
2:{
复制代码
3:publicconstdoublePi=3.14;
复制代码
4:
复制代码
5://...
复制代码
6:}
复制代码
Nowlet’sassumeaseparateprogramcalledDrawing.EXEaddsareferencetoShapes.DLLandusestheconst:
1:publicstaticclassDrawing
复制代码
2:{
复制代码
3:publicstaticvoidMain()
复制代码
4:{
复制代码
2:{0
复制代码
6:}
复制代码
2:{2
复制代码
Ifwerunthis,weget:
2:{3
复制代码
Nowlet’ssayduringtheQAprocesssomeonedecidesthatthisvalueofPiisnotpreciseenoughandchangesthedefinition:
2:{4
复制代码
AndtheyrebuildtheShapes.DLLandjustdropitintothedeploymentdirectoryforDrawing.EXEwithoutrebuildingit.WhathappensifwerunDrawing.EXEagainwithoutrecompiling?Weget:
2:{3
复制代码
Whoa!EventhoughwechangedthevalueofPiinourreferencedassemblyanddeployedittowhereDrawing.EXEexpecteditandDrawing.EXEloadedit,it
still
prints3.14.Thisisbecauseconstisa
compile-time
substitution.Thus,ifyouchangethevalueofa
const
,itwillnotbepickedupuntilthecodeusingitis
recompiled
aswell.IfwerecompileandrunDrawing.EXE,wewillget:
2:{6
复制代码
Thus,
const
shouldbeusedmainlyforvaluesthatarenotsubjecttochange,orfreelyifthescopeofthe
const
islimitedtothesameassemblyorsmaller.
我之所以想学。NET,是因为一直觉的BILLGATES好厉害,希望有一天能去微软,虽然现在还距离遥远,呵呵:)
作者:
飘灵儿
时间:
2015-1-18 16:10
Asp.net:首先来说,Asp.net和Asp没什么关系,看着像是升级版本什么的,其实没什么联系。Asp是脚本编程,用的是ASP语言,而ASP.net用的是C#语言,完全不同的工具。
作者:
若相依
时间:
2015-1-22 09:33
我的意思是.net好用,从功能上来说比JAVA强还是很明显的。
作者:
简单生活
时间:
2015-1-31 05:50
使用普通的文本编辑器编写,如记事本就可以完成。由脚本在服务器上而不是客户端运行,ASP所使用的脚本语言都在服务端上运行,用户端的浏览器不需要提供任何别的支持,这样大提高了用户与服务器之间的交互的速度。
作者:
灵魂腐蚀
时间:
2015-2-6 17:33
使用普通的文本编辑器编写,如记事本就可以完成。由脚本在服务器上而不是客户端运行,ASP所使用的脚本语言都在服务端上运行,用户端的浏览器不需要提供任何别的支持,这样大提高了用户与服务器之间的交互的速度。
作者:
再见西城
时间:
2015-2-12 19:49
众所周知,Windows以易用而出名,也因此占据不少的服务器市场。
作者:
深爱那片海
时间:
2015-3-3 05:23
Servlet却在响应第一个请求的时候被载入,一旦Servlet被载入,便处于已执行状态。对于以后其他用户的请求,它并不打开进程,而是打开一个线程(Thread),将结果发送给客户。由于线程与线程之间可以通过生成自己的父线程(ParentThread)来实现资源共享,这样就减轻了服务器的负担,所以,JavaServlet可以用来做大规模的应用服务。
作者:
愤怒的大鸟
时间:
2015-3-8 14:54
它可通过内置的组件实现更强大的功能,如使用A-DO可以轻松地访问数据库。
作者:
活着的死人
时间:
2015-3-16 02:33
众所周知,Windows以易用而出名,也因此占据不少的服务器市场。
作者:
只想知道
时间:
2015-3-22 18:48
但是目前在CGI中使用的最为广泛的是Perl语言。所以,狭义上所指的CGI程序一般都是指Perl程序,一般CGI程序的后缀都是.pl或者.cgi。
欢迎光临 仓酷云 (http://ckuyun.com/)
Powered by Discuz! X3.2