编程中国 - C#教程第五课:方法(1)

来源:百度文库 编辑:神马文学网 时间:2024/04/29 13:05:19
C#教程第五课:方法
作者:未知    阅读人次:59284    文章来源:赢政天下    发布时间:2004-9-13    网友评论(30)条
本节课向你介绍C#的方法,其目的是:
1.了解方法的结构格式
2.了解静态和实例方法之间的区别
3.学会实例对象的使用
4.学会如何调用实例化的对象
5.学会方法的四种参数类型的使用
6.学会使用"this"引用
以往,对于每个程序来说,所有的工作都在Main()方法中实现。这对于功能简单的程序是合适的,因为仅仅用来学习一些概念。有个更好的方法来组织你的程序,那就是使用方法。方法是很有用的,因为方法可以让你在不同的单元中分开设计你的逻辑模块。
方法的结构格式如下:
属性 修饰符 返回值类型 方法名(参数) { 语句 }
我们将在后面的课程中,讨论属性和修饰符。方法的返回值可以是任何一种C#的数据类型,该返回值可以赋给变量,以便在程序的后面部分使用。方法名是唯一,可以被程序调用。为使得你的代码变得更容易理解和记忆,方法的取名可以同所要进行的操作联系起来。你可以传递数据给方法,也可以从方法中返回数据。它们由大括号包围起来。大括号中的语句实现了方法的功能。
1.清单5-1. 一个简单的方法: OneMethod.cs
using System;
class OneMethod {
public static void Main() {
string myChoice;
OneMethod om = new OneMethod();
do {
myChoice = om.getChoice();
// Make a decision based on the user's choice
switch(myChoice) {
case "A":
case "a":
Console.WriteLine("You wish to add an address.");
break;
case "D":
case "d":
Console.WriteLine("You wish to delete an address.");
break;
case "M":
case "m":
Console.WriteLine("You wish to modify an address.");
break;
case "V":
case "v":
Console.WriteLine("You wish to view the address list.");
break;
case "Q":
case "q":
Console.WriteLine("Bye.");
break;
default:
Console.WriteLine("{0} is not a valid choice", myChoice);
}
// Pause to allow the user to see the results
Console.Write("Press any key to continue...");
Console.ReadLine();
Console.WriteLine();
} while (myChoice != "Q" && myChoice != "q"); // Keep going until the user wants to quit
}
string getChoice() {
string myChoice;
// Print A Menu
Console.WriteLine("My Address Book\n");
Console.WriteLine("A - Add New Address");
Console.WriteLine("D - Delete Address");
Console.WriteLine("M - Modify Address");
Console.WriteLine("V - View Addresses");
Console.WriteLine("Q - Quit\n");
Console.WriteLine("Choice (A,D,M,V,or Q): ");
// Retrieve the user's choice
myChoice = Console.ReadLine();
return myChoice;
}
}
说明
1.清单5-1中的程序类似于第四课中的DoLoop程序。
区别在于:前一课中的程序打印出菜单内容,并在Main()方法中接受用户的输入,而本课中,该功能用一个名为getChoice()的方法实现,该方法的返回值类型是个字符串类型。在main方法中,在switch语句中用到了该串。方法"getChoice"实现了调用时所完成的工作。方法名后面的括号内是空的,因为调用getChoice()方法时,不需要传递任何数据。