仓酷云

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

[学习教程] ASP.NET网页编程之C# 言语标准--1.3 变量和参数

[复制链接]
跳转到指定楼层
楼主
发表于 2015-1-16 22:31:47 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
Java欺骗了我们那么多年,如今的多核时代,我认为它气数已尽!变量|标准变量暗示存储地位。每一个变量都属于一品种型,它断定甚么样的值能够存储在该变量中。部分变量是在办法、属性或索引器中声明的变量。部分变量是经由过程指定范例称号和声明符(它指定变量名和可选的初始值)界说的,如:
inta;
intb=1;
但部分变量声明也能够包括多个声明符。a和b的声明能够重写为:
inta,b=1;
一个变量必需先赋值,然后才干利用它的值。示例
classTest
{
staticvoidMain(){
inta;
intb=1;
intc=a+b;//error,anotyetassigned
...
}
}
招致编译时毛病,由于它试图在给变量a赋值之前利用它。
字段是与类或布局或与类或布局的实例联系关系的变量。用static润色符声明的字段界说静态变量,不必此润色符声明的字段则界说实例变量。静态字段与范例联系关系,而实例变量与实例联系关系。示例
usingPersonnel.Data;
classEmployee
{
privatestaticDataSetds;
publicstringName;
publicdecimalSalary;
...
}
显现了具有一个公有静态变量和两个大众实例变量的Employee类。
形参声明也界说变量。有四品种型的参数:值参数、援用参数、输入参数和参数数组。
值参用于“in”参数传送。在此过程当中,自变量的值被传进办法中。由于一个值参在办法顶用本人的变量存储(而非原自变量),以是对此参数的修正不会影响到原自变量。值参的变量是经由过程复制原自变量的值来初始化的。示例
usingSystem;
classTest{
staticvoidF(intp){
Console.WriteLine("p={0}",p);
p++;
}
staticvoidMain(){
inta=1;
Console.WriteLine("pre:a={0}",a);
F(a);
Console.WriteLine("post:a={0}",a);
}
}
显现了一个具着名为p的值参数的办法F。示例输入了局以下
pre:a=1
p=1
post:a=1
即便值参数p已修正。
“援用参数”用于“byreference”参数传送。在此过程当中,“援用参数”就是挪用者供应的自变量的别号。“援用参数”其实不界说本人的变量,而是间接援用原自变量,因而对“援用参数”的修正就将间接影响响应原自变量的值。援用参数用ref润色符来声明。示例
usingSystem;
classTest{
staticvoidSwap(refinta,refintb){
intt=a;
a=b;
b=t;
}
staticvoidMain(){
intx=1;
inty=2;
Console.WriteLine("pre:x={0},y={1}",x,y);
Swap(refx,refy);
Console.WriteLine("post:x={0},y={1}",x,y);
}
}
显现了一个具有两个援用参数的Swap办法。发生的输入为:
pre:x=1,y=2
post:x=2,y=1
在形参声明和形参的利用中都必需利用ref关头字。在挪用地位利用ref能够引发对参数的出格注重,如许浏览代码的开辟职员就会晓得参数值能够因挪用而变动。
关于输入参数来讲,挪用者供应的自变量的初始值其实不主要,除此以外,输入参数与援用参数相似。输入参数是用out润色符声明的。示例
usingSystem;
classTest{
staticvoidDivide(inta,intb,outintresult,outintremainder){
result=a/b;
remainder=a%b;
}
staticvoidMain(){
for(inti=1;i<10;i++)
for(intj=1;j<10;j++){
intans,r;
Divide(i,j,outans,outr);
Console.WriteLine("{0}/{1}={2}r{3}",i,j,ans,r);
}
}
}
显现了一个Divide办法,该办法包括两个输入参数:一个参数用于除法的了局,另外一个参数用于余数。
关于值、援用和输入这三品种型的参数,在挪用方供应的自变量和用于暗示它们的参数之间存在一对一的对应干系。参数数组则同意存在多对一干系:多个参数能够用一个自变量来暗示。换言之,参数数组同意可变长度的自变量列表。
参数数组用params润色符声明。一个给定的办法只能有一个参数数组,并且它必需一直是最初一个指定的参数。参数数组的范例老是一维数组范例。挪用方能够传送一个属统一范例的数组变量,或恣意多个与该数组的元素属统一范例的自变量。比方,示例
usingSystem;
classTest
{
staticvoidF(paramsint[]args){
Console.WriteLine("#ofarguments:{0}",args.Length);
for(inti=0;i<args.Length;i++)
Console.WriteLine("        args[{0}]={1}",i,args[i]);
}
staticvoidMain(){
F();
F(1);
F(1,2);
F(1,2,3);
F(newint[]{1,2,3,4});
}
}
显现了带数量可变的int参数的办法F,和对此办法的多少个挪用。输入为:
#ofarguments:0
#ofarguments:1
args[0]=1
#ofarguments:2
args[0]=1
args[1]=2
#ofarguments:3
args[0]=1
args[1]=2
args[2]=3
#ofarguments:4
args[0]=1
args[1]=2
args[2]=3
args[3]=4

此先容中呈现的年夜部分示例利用Console类的WriteLine办法。此办法的参数交换举动(以下面的示例所示)
inta=1,b=2;
Console.WriteLine("a={0},b={1}",a,b);
是利用参数数组完成的。为顺应罕见的各类必要,WriteLine办法有多少个重载的办法供选用,这些办法中,有些需传送流动个数的参数,有些利用了参数数组。
namespaceSystem
{
publicclassConsole
{
publicstaticvoidWriteLine(strings){...}
publicstaticvoidWriteLine(strings,objecta){...}
publicstaticvoidWriteLine(strings,objecta,objectb){...}
...
publicstaticvoidWriteLine(strings,paramsobject[]args){...}
}
}
无论谁倒了对双方阵营的粉丝们也是有害无益。
因胸联盟 该用户已被删除
沙发
发表于 2015-1-18 23:07:46 | 只看该作者
对于中小项目来说.net技术是完全可以胜任,但为什么现在大型公司或网站都选择php或java呢?就是因为微软不够开放,没有提供从硬件到应用服务器再到业务应用的整套解决方案。
冷月葬花魂 该用户已被删除
板凳
发表于 2015-1-23 23:47:20 | 只看该作者
ASP.NET可以无缝地与WYSIWYGHTML编辑器和其他编程工具(包括MicrosoftVisualStudio.NET)一起工作。这不仅使得Web开发更加方便,而且还能提供这些工具必须提供的所有优点,包括开发人员可以用来将服务器控件拖放到Web页的GUI和完全集成的调试支持。微软为ASP.net设计了这样一些策略:易于写出结构清晰的代码、代码易于重用和共享、可用编译类语言编写等等,目的是让程序员更容易开发出Web应用,满足计算向Web转移的战略需要。
山那边是海 该用户已被删除
地板
发表于 2015-1-31 20:50:54 | 只看该作者
它可通过内置的组件实现更强大的功能,如使用A-DO可以轻松地访问数据库。
简单生活 该用户已被删除
5#
发表于 2015-2-6 22:39:08 | 只看该作者
提供基于组件、事件驱动的可编程网络表单,大大简化了编程。还可以用ASP.NET建立网络服务。
小妖女 该用户已被删除
6#
发表于 2015-2-19 00:47:08 | 只看该作者
大哥拜托,Java在95年就出来了,微软垄断个妹啊,服务器市场微软完全是后后来者,当年都是Unix的市场,现在被WindowsServer和Linux抢下大片,包括数据库也一样。
分手快乐 该用户已被删除
7#
发表于 2015-3-6 11:48:05 | 只看该作者
asp.net最主要特性包括:◆编程代码更简洁◆网站可实现的功能更强大◆运行效率高◆节省服务器的动作资源
莫相离 该用户已被删除
8#
发表于 2015-3-13 00:31:13 | 只看该作者
逐步缩小出错代码段的范围,最终确定错误代码的位置。
海妖 该用户已被删除
9#
发表于 2015-3-20 07:33:50 | 只看该作者
由于CGI程序每响应一个客户就会打开一个新的进程,所以,当有多个用户同时进行CGI请求的时候,服务器就会打开多个进程,这样就加重了服务器的负担,使服务器的执行效率变得越来越低下。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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