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

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

推荐文档