仓酷云

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

[学习教程] ASP.NET编程:C#教程:匿名范例和隐式范例变量的区分

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

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

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

x
据说很厉害,甚至可以把C#也干掉^_^,不过也很复杂,本来C++已经够复杂的。有人甚至还提出把这个东东引进标准,我觉得基本上不可能的。</p>隐式范例变量(Implicitlytypedlocalvariables)
象上面的代码誊写就是隐式范例变量
vari=5;
varstr=“Csharp”
varnumbers=newint[]{1,2,3};
varorders=newSystem.Collections.Hashtable();
varorders1=newDictionary();
vari=xxx;的感化就是用xxx的范例声明为i的范例。并给i赋值。
因为声明时分,必要依附于等号右侧的表达式,以是必需同时赋值。不然上面的誊写就会报毛病:ErrorImplicitlytypedlocalsmustbeinitialized
vargg;
利用Implicitlytypedlocalvariables时应恪守以下束缚:
1.Thedeclaratormustincludeaninitializer
声明时必需包括初始化器。
2、Theinitializermustbeanexpression.Theinitializercannotbeanobjectorcollectioninitializerbyitself,butitcanbeanewexpressionthatincludesanobjectorcollectioninitializer.
初始化必需是一个表达式。初始化表达式不克不及包括它本身,可是能够是包括一个工具或汇合初始化器的一个new表达式(即匿名范例)。
3、Thecompile-timetypeoftheinitializerexpressioncannotbethenulltype.
初始化器表达式的编译期范例不成所以空(null)范例。
好比:
vargg=null;这行代码就会报毛病:Cannotassigntoanimplicitlytypedlocal
4、Ifthelocalvariabledeclarationincludesmultipledeclarators,theinitializersmustallhavethesamecompile-timetype.
假如部分变量声明包括了多个声明符,这些声明符必需具有一样的编译期范例。
好比以下代码:
varn="java"
varm=4;
varff=m+n;

Console.WriteLine(ff);
Console.WriteLine(ff.GetType());
打印出来的信息会是:
4java
System.String
5.Theinitializercannotrefertoitself.(初始化中不克不及提起它本身)
隐式范例变量的利用局限,它可不是各处能用。仅仅能够用于上面四种情形
1.部分变量声明
2.for语句中变量声明)
3.using语句初始化变量时.
4.foreach中iterator范例声明)
好比上面代码就会报错:
classProgram
{
privatevartmp="java"
}
Thecontextualkeywordvarmayonlyappearwithinalocalvariabledeclaration
隐式范例变量实践是编译器干的活(编译器部分变量的范例从初始化它们的表达式推导而来),以是
vari=5;如许的代码,编译后用Reflector再反编译看到的是:
inti=5;
匿名范例(AnonymousTypes)
匿名范例,是从工具初始化器主动推导和创立的元组(tuple)范例。
varo=new{Name="Hello",Age=23};
varintArr=new[]{3,1,4,1,5};
就是匿名范例的一种誊写。
注重:
varintArr=new[]{3,1,4,1,5};是匿名范例,固然也是隐式范例变量
varintArr=newint[]{3,1,4,1,5};是隐式范例变量
匿名范例和隐式范例变量的区分
隐式范例变量指我们能够经由过程等号右侧的表达式,揣度出等号右边该是那品种型。
匿名范例则是指,依据这个范例的初始化函数,我们能够推导出和创立出这个范例的实例。
这两个特征良多时分是一同感化的。
好比:new{Name="Hello",Age=23}这个表达式的范例是匿名的,因而o就会酿成谁人匿名范例。
个中的Name="Hello"又能够看做是隐式范例变量。
不外应当没有人会用vari=10;如许看起来像jscript的语法,以是var基础上就是为匿名范例而生.
申明:
以上信息都是基于OrcasBeta1的。大概正式版的时分,会产生变更。
另外,小型软件代码重用价值低,没有必要跨平台;大型软件,有严格的规划、部署,不可以随意跨平台。
分手快乐 该用户已被删除
沙发
发表于 2015-1-18 09:53:44 | 只看该作者
能产生和执行动态、交互式、高效率的站占服务器的应用程序。运用ASP可将VBscript、javascript等脚本语言嵌入到HTML中,便可快速完成网站的应用程序,无需编译,可在服务器端直接执行。容易编写。
小女巫 该用户已被删除
板凳
发表于 2015-1-21 18:35:55 | 只看该作者
碰到复杂点的问题都不知道能不能解决,现在有点实力的公司都选择自已在开源的基础上做开发。但没听说过有人在IIS上做改进的,windows、sqlserver集群方面的应用也很少见。
小妖女 该用户已被删除
地板
发表于 2015-1-30 21:46:05 | 只看该作者
Servlet的形式和前面讲的CGI差不多,它是HTML代码和后台程序分开的。它们的启动原理也差不多,都是服务器接到客户端的请求后,进行应答。不同的是,CGI对每个客户请求都打开一个进程(Process)。
第二个灵魂 该用户已被删除
5#
发表于 2015-2-6 16:09:05 | 只看该作者
最强的技术支持WebService,而且有.NET的所有library做后盾。而且ASP.NET在.NET3.5中还有微软专门为AJAX开发的功能--ASP.NETAJAX。
乐观 该用户已被删除
6#
发表于 2015-2-17 02:58:51 | 只看该作者
ASP.Net摆脱了以前ASP使用脚本语言来编程的缺点,理论上可以使用任何编程语言包括C++,VB,JS等等,当然,最合适的编程语言还是MS为.NetFrmaework专门推出的C(读csharp)。
简单生活 该用户已被删除
7#
发表于 2015-3-5 14:57:09 | 只看该作者
比如封装性、继承性、多态性等等,这就解决了刚才谈到的ASP的那些弱点。封装性使得代码逻辑清晰,易于管理,并且应用到ASP.Net上就可以使业务逻辑和Html页面分离,这样无论页面原型如何改变。
爱飞 该用户已被删除
8#
发表于 2015-3-12 08:42:23 | 只看该作者
虽然在形式上JSP和ASP或PHP看上去很相似——都可以被内嵌在HTML代码中。但是,它的执行方式和ASP或PHP完全不同。在JSP被执行的时候,JSP文件被JSP解释器(JSPParser)转换成Servlet代码,然后Servlet代码被Java编译器编译成.class字节文件,这样就由生成的Servlet来对客户端应答。所以,JSP可以看做是Servlet的脚本语言(ScriptLanguage)版。
灵魂腐蚀 该用户已被删除
9#
发表于 2015-3-19 19:24:14 | 只看该作者
ASP(ActiveServerPages)是Microsfot公司1996年11月推出的WEB应用程序开发技术,它既不是一种程序语言,也不是一种开发工具,而是一种技术框架,不须使用微软的产品就能编写它的代码。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2024-12-24 01:20

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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