C#教程(10)

2019-08-29 19:31

string myChoice; OneMethod om = new OneMethod(); do { myChoice = om.getChoice(); // Make a decision based on the user's choice switch(myChoice) { case \case \Console.WriteLine(\break; case \case \Console.WriteLine(\break; case \case \Console.WriteLine(\break; case \case \Console.WriteLine(\wish to view the address list.\break; case \case \Console.WriteLine(\break; default: Console.WriteLine(\is not a valid choice\myChoice); } // Pause to allow the user to see the results Console.Write(\Console.ReadLine(); Console.WriteLine(); } while (myChoice != \&& myChoice != \// Keep going until the user wants to quit } string getChoice() { string myChoice; // Print A Menu Console.WriteLine(\Console.WriteLine(\Console.WriteLine(\Console.WriteLine(\Console.WriteLine(\Console.WriteLine(\Console.WriteLine(\ // Retrieve the user's choice myChoice = Console.ReadLine(); return myChoice; } } 说明

1.清单5-1中的程序类似于第四课中的DoLoop程序。

区别在于:前一课中的程序打印出菜单内容,并在Main()方法中接受用户的输入,而本课中,该功能用一个名为getChoice()的方法实现,该方法的返回值类型是个字符串类型。在main方法中,在switch语句中用到了该串。方法\

etChoice\实现了调用时所完成的工作。方法名后面的括号内是空的,因为调用getChoice()方法时,不需要传递任何数据。

2.在方法块中,我们首先定义了变量\。

虽然它与 Main()方法中的\变量同名同类型, 但它们是不同的两个变量,因为局部变量仅仅在其定义的块内可见。换句话说, getChoice()方法中的\同Main()方法中的\变量没有丝毫联系。getChoice()方法打印出一个菜单到控制台,并读取用户的输入。\n\语句把\变量值返回给Main()方法中的调用者getChoice()。注意: \语句返回类型同该方法中定义的返回值类型相同,本例中,该返回值是个字符串。

3.在Main()方法中,在使用getChoice()之前,实例化了一个新的\对象。

这是因为:我们没有指明一个\静态\修饰符。(注意:Main()函数带有\静态\修饰符),getChoice()就成为一个实例的方法。 实例方法和静态方法的区别是:前者可以创建多个类的实例,每个实例有自己的单独的getChoice()方法。而一旦方法是静态的,就不存在方法的实例,你只能调用该静态

方法的一个实现。

所以,正如前面所讲的,因为getChoice()并不是静态的,所以,我们必须实例化一个新对象来使用它。这是通过定义\来进行的。在等号的左边,是对象引用\,其类型是OneMethod。\是个对象的引用,这点很重要,\并不是对象自身,它是个引用OneMethod类型对象的变量。 在等号的右边,把新创建的OneMethod对象赋给引用\。 关键字\是个在堆上创建对象的新实例的C#运算符。此处完成的工作是: 在堆上创建一个新的OneMethod实例,并把它赋给om引用。一旦有了om引用的OneMethod对象实例,就可以通过om引用来对实例进行处理。

方法,域和其他类成员可以通过\点)运算符进行访问,标识和操纵。一旦需要调用方法getChoice(),就通过om引用,并使用点运算符\来进行。 getChoice() 块中的语句执行完毕之后即返回。为了捕捉到getChoice()的返回值,我们使用了赋值运算符\。 返回串放到了Main()函数的局部变量 myChoice中,从那里,程序的其余部分按照前面课程中介绍的方式正常执行。


C#教程(10).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:2018年全国卷I理数高考试题(word版含答案)

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: