仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 970|回复: 8
打印 上一主题 下一主题

[学习教程] ASP.NET网页设计Visual C# 2005疾速进门之使用感化域

[复制链接]
小魔女 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-16 22:41:37 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
竟发现没有太大的帮助。总觉得要用起来,感觉到不了位。因为公司机器的原因,一直没有安装vs.net(也从来没有用过)。以前做asp的时候一直用DW(感觉其代码联想功能不错),可现在到了asp.net却不习惯了。visual|疾速进门  后面已展现了一些在办法外部创立变量的例子。变量从界说了它的语句入手下手存在,统一个办法内的后续语句可使用该变量。换言之,变量只能在创立了以后才干利用。办法实行终了后,变量也会完全消散。

  假设一个变量能在程序中的一个特定地位利用,就申明该变量具有谁人地位的感化域。也就是说,一个变量的感化域(scope)是指可以利用该变量的程序地区。感化域既感化于办法,也感化于变量。一个标识符(不论它代表变量仍是代表办法)的感化域是从声明显该标识符的谁人地位入手下手的。

  界说部分感化域

  界定办法主体的肇端与停止年夜括号创建了一个感化域。办法主体中声明的任何变量都具有谁人办法的感化域;一旦办法停止,它们也会消散,并且只能由谁人办法外部实行的代码来会见。这些变量称为部分变量(localvariable),由于它们范围于声明它们的谁人办法,不克不及在其他任何办法的感化域中利用。换言之,你不克不及利用部分变量在分歧的办法之间共享信息。比方:

classExample
{
voidfirstMethod()
{
intmyVar;
...
}
voidanotherMethod()
{
myVar=42;//毛病C变量越界
...
}
}
  上述代码将编译失利,由于anotherMethod办法试图利用一个越界的myVar变量。该变量只能由firstMethod办法中的语句利用。

  界说类感化域

  界定类主体的肇端和停止年夜括号也创建了一个感化域。在类主体中(但不在一个办法中)声明的任何变量都具有谁人类的感化域。在C#术语中,开辟者利用字段(field)一词来形貌由一个类界说的变量。和部分变量分歧,你可使用字段在分歧的办法之间共享信息。比方:

classExample
{
voidfirstMethod()
{
myField=42;//ok
...
}
voidanotherMethod()
{
myField=42;//ok
...
}
intmyField=0;
}
  变量myField是在类的外部和firstMethod和anotherMethod办法的内部界说的。以是,myField具有类的感化域,可由类中的一切办法利用。

  这个例子中还必要注重另外一点。在一个办法中,必需在利用一个变量前声明它。但字段稍有分歧,一个办法能在界说一个字段的语句之前利用谁人字段――在这类情形下,编译器将为你办理统统!

  重载办法

  假如两个标识符同名,并且在统一个感化域中声明,就能够说它们被重载(overloaded)。一般,重载的标识符属于一个程序bug,会在编译时被捕获到并报错。比方,假定你在统一个办法中声了然两个同名的部分变量,就会取得一个编译时毛病。相似地,假设在统一个类中声了然同名的两个字段,大概在统一个类中声了然两个完整一样的办法,就会取得一个编译时毛病。这个现实外表上仿佛何足道哉,由于统统城市被呈报为编译时毛病。但是,你的确能经由过程一种体例来重载标识符,并且这类重载不但是有效的,并且是主要的。

  以Console类中的WriteLine办法为例,后面已利用该办法向屏幕输入一个字符串。但是,在“代码和文本编纂器”窗口中输出WriteLine时,会主动弹出一个“智能感知”列表,个中列出了19个分歧的版本!WriteLine办法的每一个版本都猎取一套分歧的参数。一个完成不猎取任何参数,只是输入一个空行;另外一个完成则猎取一个bool参数,并输入它的值的字符串情势(true或false);另有一个完成猎取一个小数值,并以字符串的情势输入它;等。程序编译时,编译器会反省所传送的实参的范例,然后挪用参数集与之婚配的一个办法版本。上面是一个例子:

staticvoidMain()
{
Console.WriteLine("Theansweris");
Console.WriteLine(42);
}
  假如必要针对分歧的数据范例实行不异的操纵,重载就是一项非常有效的手艺。假如分歧的完成有分歧的参数集,就能够思索重载一个办法。换言之,每一个版本都具有不异的办法名,但具有分歧的参数数目大概分歧的参数范例。使用这个功效,在挪用一个办法时,能够供应一个以逗号分开的实参列表,而编译器将依据这些实参的数目和范例,选择个中的一个婚配的重载版本。但要注重,固然能够重载一个办法的参数,但不克不及重载办法的前往范例。也就是说,不克不及声明只是前往范例有区分的两个同名办法(编译器固然对照伶俐,但还不至于伶俐到那种水平)。我感觉可以顶到50楼,出乎意料的是大家居然纷纷写出自己的博文,还被编辑做成了专题,置于首页头条。
柔情似水 该用户已被删除
沙发
发表于 2015-1-19 21:17:07 | 只看该作者
主流网站开发语言之ASP:ASP是微软(Microsoft)所开发的一种后台脚本语言,它的语法和VisualBASIC类似,可以像SSI(ServerSideInclude)那样把后台脚本代码内嵌到HTML页面中。虽然ASP简单易用,但是它自身存在着许多缺陷,最重要的就是安全性问题。
变相怪杰 该用户已被删除
板凳
发表于 2015-1-28 11:20:29 | 只看该作者
平台无关性是PHP的最大优点,但是在优点的背后,还是有一些小小的缺点的。如果在PHP中不使用ODBC,而用其自带的数据库函数(这样的效率要比使用ODBC高)来连接数据库的话,使用不同的数据库,PHP的函数名不能统一。这样,使得程序的移植变得有些麻烦。不过,作为目前应用最为广泛的一种后台语言,PHP的优点还是异常明显的。
精灵巫婆 该用户已被删除
地板
发表于 2015-1-28 11:20:29 来自手机 | 只看该作者
代码的可重用性差:由于是面向结构的编程方式,并且混合html,所以可能页面原型修改一点,整个程序都需要修改,更别提代码重用了。
谁可相欹 该用户已被删除
5#
发表于 2015-2-5 21:05:49 | 只看该作者
如今主流的Web服务器软件主要由IIS或Apache组成。IIS支持ASP且只能运行在Windows平台下,Apache支持PHP,CGI,JSP且可运行于多种平台,虽然Apache是世界使用排名第一的Web服务器平台。
若相依 该用户已被删除
6#
发表于 2015-3-3 23:21:34 | 只看该作者
同时也感谢博客园给我们这个平台,也感谢博客园的编辑们做成专题引来这么多高人指点。
蒙在股里 该用户已被删除
7#
发表于 2015-3-11 14:34:52 | 只看该作者
以上是语言本身的弱点,在功能方面ASP同样存在问题,第一是功能太弱,一些底层操作只能通过组件来完成,在这点上是远远比不上PHP/JSP,其次就是缺乏完善的纠错/调试功能,这点上ASP/PHP/JSP差不多。
老尸 该用户已被删除
8#
发表于 2015-3-18 23:54:35 | 只看该作者
能产生和执行动态、交互式、高效率的站占服务器的应用程序。运用ASP可将VBscript、javascript等脚本语言嵌入到HTML中,便可快速完成网站的应用程序,无需编译,可在服务器端直接执行。容易编写。
小魔女 该用户已被删除
9#
 楼主| 发表于 2015-3-26 21:09:17 | 只看该作者
在调试JSP代码时,如果程序出错,JSP服务器会返回出错信息,并在浏览器中显示。这时,由于JSP是先被转换成Servlet后再运行的,所以,浏览器中所显示的代码出错的行数并不是JSP源代码的行数。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-5-4 15:04

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表