c#方法重载
方法重载:同一个作用域内发生(比如一个类里面),定义一系列同名方法,但是方法的参数列表不同。这样才能通过传递不同的参数来决定到底调用哪一个。
值得注意的是,方法重载只有通过参数不同来判断调用哪个方法,而不能通过返回值。至于原因,可以这样理解,你调用一个方法,如果有多个方法同名,系统必须要知道到底你要调用哪一个,参数可以帮助系统在方法入口处得到答案,他根据你给的参数就知道该使用哪个方法。如果只有返回值的不同,很多情况系统是不可能得到有效的判断条件的,比如:double method();int method();如果你这样调用:method()。系统当然不知道该调用哪个。
示例:
//返回值相同,参数不同
- class BillPayment
- {
- void PayBill(int TelephoneNumber)
- {
- //此方法用于支付固定电话费
- }
- void PayBill(long CustomerNumber)
- {
- //此方法用于支付电费
- }
- void PayBill(long CustomerNumber,double amount)
- {
- //次方法用于支付移动电话费
- }
- }
//返回值相同,参数个数不同
- class Add
- {
- int addtion(int num1,int num2)
- {
- return num1+num2;
- }
- int addtion(int num1,int num2,int num3)
- {
- returnnum1+num2+num3;
- }
- }
//参数不同,返回值不同
- int Method(int[] numbers)
- {
- }
- double Method(double[] numbers)
- {
- }