方法 (method) 是一种成员,用于实现可以由对象或类执行的计算或操作。 静态方法 (static method) 通过类来访问。 实例方法 (instance method) 通过类的实例来访问。 方法具有一个参数 (parameter) 列表(可以为空),表示传递给该方法的值或变量引用; 方法还具有一个返回类型 (return type),指定该方法计算和返回的值的类型。 如果方法不返回值,则其返回类型为 void。 与类型一样,方法也可以有一组类型参数,当调用方法时必须为类型参数指定类型实参。 与类型不同的是,类型实参经常可以从方法调用的实参推断出,而无需显式指定。 方法的签名 (signature) 在声明该方法的类中必须唯一。 方法的签名由方法的名称、类型参数的数目以及该方法的参数的数目、修饰符和类型组成。方法的签名不包含返回类型。
方法的参数从调用该方法时指定的实参 (argument) 获取它们的实际值。 有四类参数:值参数、引用参数、输出参数和参数数组。 值参数 (value parameter) 用于传递输入参数。 一个值参数相当于一个局部变量,只是它的初始值来自为该形参传递的实参。 对值参数的修改不影响为该形参传递的实参。 值参数可以是可选的,通过指定默认值可以省略对应的实参。 引用参数 (reference parameter) 用于传递输入和输出参数。 为引用参数传递的实参必须是变量,并且在方法执行期间,引用参数与实参变量表示同一存储位置。 引用参数使用 ref 修饰符声明。 下面的示例演示 ref 参数的用法。
输出参数 (output parameter) 用于传递输出参数。 对于输出参数来说,调用方提供的实参的初始值并不重要。 除此之外,输出参数与引用参数类似。 输出参数是用 out 修饰符声明的。 下面的示例演示 out 参数的用法。
参数数组 (parameter array) 允许向方法传递可变数量的实参。 参数数组使用 params 修饰符声明。 只有方法的最后一个参数才可以是参数数组,并且参数数组的类型必须是一维数组类型。 system.console 类的 write 和 writeline 方法就是参数数组用法的很好示例。它们的声明如下。 public class console }在使用参数数组的方法中,参数数组的行为完全就像常规的数组类型参数。 但是,在具有参数数组的方法的调用中,既可以传递参数数组类型的单个实参,也可以传递参数数组的元素类型的任意数目的实参。 在后一种情况下,将自动创建一个数组实例,并使用给定的实参对它进行初始化。示例:
|