在C# 的语言中,方法相当于其它语言中的函数,但是它与传统的函数也有着明确的不同:在结构化的语言中,整个程序是由一个个函数组成的;但是在面向对象的语言里,整个程序是由一个个类组成的。因此在C# 中,方法不能独立存在,它只能属于类或者对象。本文主要介绍C# 类的方法的重载。
1、方法 重载
使用方法重载时,多个方法可以使用不同的参数使用相同的名称:
例如:
int MyMethod(int x) float MyMethod(float x) double MyMethod(double x, double y)
下面的示例是两个两种不同类型数字的方法:
例如:
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace ConsoleApplication { class Program { static int PlusMethodInt(int x, int y) { return x + y; } static double PlusMethodDouble(double x, double y) { return x + y; } static void Main(string[] args) { int myNum1 = PlusMethodInt(8, 5); double myNum2 = PlusMethodDouble(4.3, 6.26); Console.WriteLine("int: " + myNum1); Console.WriteLine("double: " + myNum2); } } }
与其定义应该执行相同操作的两个方法,不如重载一个方法。
在下面的示例中,我们重载了PlusMethod
方法,使其同时适用于int
和double
:
例如:
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace ConsoleApplication { class Program { static int PlusMethod(int x, int y) { return x + y; } static double PlusMethod(double x, double y) { return x + y; } static void Main(string[] args) { int myNum1 = PlusMethod(8, 5); double myNum2 = PlusMethod(4.3, 6.26); Console.WriteLine("int: " + myNum1); Console.WriteLine("double: " + myNum2); } } }
注意:只要参数的数量或类型不同,多个方法就可以具有相同的名称。