开发手册 欢迎您!
软件开发者资料库

C# 方法 重载

在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方法,使其同时适用于intdouble

例如:

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);        }    }}

注意:只要参数的数量或类型不同,多个方法就可以具有相同的名称。