c#中类的方法定义,参数,使用,重载
方法的格式
定义方法的基本格式如下:
方法的访问属性 返回类型方法名(参数列表)
{
方法的具体实现;
}
类中的功能大多数放在方法中实现。下面的代码实现了UpdateDatabase方法的定义:
public void UpdateDatabase(DataSet ds)
{
//具体实现代码;
}
方法的返回值
方法可以向调用方返回值。如果返回类型(方法名称前列出的类型)不是void,则方法可以使用return关键字来返回值。如果语句中return关键字的后面是与返回类型匹配的值,则该语句将该值返回给方法调用方。return关键字还可以停止方法的执行。
如果返回类型为void,则可使用没有值的return语句来停止方法的执行。如果没有return关键字,方法执行到代码块末尾时即会停止。具有非void返回类型的方法才能使用return关键字返回值。例如,下面的两个方法使用return关键字来返回整数,代码如下:
public class VoidTest
{
public int AddNum(int num1 ,int num2)
{
return num1 + num2;
}
public int SquareNum(int num)
{
return num * num;
}
}
方法的参数
如果方法要更改数值,有时需要传递值给方法并从方法获得返回值。下面是传递参数时的4种情况。
(1)值参数:声明时不带修饰符的参数是值参数,一个值参数相当于一个局部变量,初始值来自该方法调用时提供的相应参数。在方法内对值参数的操作不会改变传给方法时变量的值,因为将值类型传递给方法时,传递的是副本而不是对象本身。由于它们是副本,因此对参数所做的任何更改都不会在调用方法内部反映出来。之所以叫做值类型,是因为传递的是对象的副本而不是对象本身,传递的是值,而不是同一个对象。
(2)引用参数:如果要传递原值并修改它,使用引用参数就非常方便。因为引用参数传递了一个变量给方法而不仅仅传递它的值,所以对参数的操作会影响原值。在传递时变量必须被初始化。
(3)输出参数:在传递参数前加out关键字即可将该传递参数设作一个输出参数。输出参数用来返回一个结果。它和引用参数的区别是不必先初始化变量。例如:
static void Method(out int i)
(4)参数数组:参数数组必须用params修饰词明确指定。在方法的参数列表中只允许出现一个参数数组,而且在方法同时具有固定参数和参数数组的情况下,参数数组必须放在整个参数列表的最后,并且参数数组只允许是一维数组。
方法的重载
方法重载是指调用同一方法名,但使用不同数据类型的参数或不同的次序。只要类中有两个以上的同名方法,且使用的参数类型或者个数不同,编译器就可以判断在哪种情况下调用哪种方法。下面的代码实现了MethodTest方法的重载:
public int MethodTest(int i, int j)
{
}
public int MethodTest(int i)
{
}
public string MethodTest(string s)
{
}