| 网站首页 | 业界新闻 | 技术文章 | 视频教程 | 下载频道 | 程序源码 | 个人空间 | 编程论坛 |
 
 
 
您现在的位置: 编程中国 >> 技术教程 >> .NET技术 >> C# >> C#教程 >> 正文
  ►  C#教程第五课:方法
C#教程第五课:方法
作者:未知    阅读人次:……    文章来源:赢政天下    发布时间:2004-9-13    网友评论()条
 



2.在Main()方法中,我们调用getChoice()来读取用户的输入,并且把字符串放到myChoice变量中。

之后,把myChoice变量作为makeDecision()函数的实在参数。在实现makeDecision()方法时,注意其形式参数为字符串myChoice。需要再次说明的是:这是个新的myChoice变量,不同于调用者的实在参数,仅仅是适用于本方法的局部变量。 因为makeDecision()方法的myChoice参数没有任何其他修饰符,故认为它是"值"参,即实在参数的值被拷贝到栈中,故作为值参的变量是局部的,任何对局部变量值的改变并不影响到调用者的实在参数的值。换句话说,值参仅仅是来自调用者的输入。

3.makeDecision()方法中的switch语句完成如下功能:

在每种情形下,都调用相应的方法。这些方法的调用不同于Main()方法。除了使用"mp" 引用,它们还使用了"this"关键字。"this"是对当前对象的引用。由于makeDecision()方法不是静态方法,当前对象已经被实例化,所以可以使用"this"引用来调用同一实例中的方法。

4.addAddress()方法用到了"ref"参数,即引用可作为参数来传递,即该引用被拷贝到栈中,其引用的对象同调用者的实参所引用的对象是同一个。

这意味着:任何对局部引用的对象的改变也就是对调用者所引用的对象的改变。你可以想象一下,这就相当于输入/输出参数。

5.modifyAddress()中有一个输出参数。

输出参数仅仅传递给被调用函数。一旦调用该方法时,在栈中的仅有的一个引用未被赋值,因为根据赋值的确定性原则,在该变量没有被赋值之前,就不能使用该变量。modifyAddress()方法的第一行作为注释,说明了这一点。你可以试着去掉注释符,编译一下程序,看看结果如何。一旦该变量被赋了值,在程序返回之后,输出参数就被拷贝到调用者的参数中。所以,在方法返回之前,必须给输出参数赋值。

小结
C# 语言的一个很有用途的参数类型是数组参数,它须是一维或多维的数组。在makeDecision()方法中,我们传递了用四个逗号隔开的字符串参数。参数的个数是变量。在viewAddresses()方法中,使用了foreach循环,逐一输出这些字符串。数组参数仅是一种输入性质的参数,任何对数组参数值的改变仅仅影响到局部的副本值。

概括地讲,你现在已经理解了方法的组织结构。你还了解了方法的实现可以采用的四种参数类型及其格式。 一旦你使用实例方法,就必须实例化该对象,静态方法则不同,后者可以在任何时候被调用。另外,你也了解了"this"引用是如何调用实例方法的。

上一页  [1] [2] [3] 

 

 
文章录入:admin    责任编辑:admin 
  • 上一篇文章:

  • 下一篇文章:

  •  
    相关文章
    原创地带
    24小时热门帖子