Utilizor
Contact Us

C# Method Overloading

Multiple methods with the same name.

C# Method Overloading

With method overloading, multiple methods can have the same name with different parameters:

  • int MyMethod(int x)
  • float MyMethod(float x)
  • double MyMethod(double x, double y)

Instead of defining two methods that should do the same thing, it is better to overload one.

In the example below, we overload the PlusMethod method to work for both int and double:

Examples

Method Overloading

Same method name, different types.

using System;

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

Different Parameter Count

Overloading by number of parameters.

using System;

class Program
{
    static int Add(int a, int b)
    {
        return a + b;
    }
    static int Add(int a, int b, int c)
    {
        return a + b + c;
    }
    
    static void Main()
    {
        Console.WriteLine(Add(1, 2));
        Console.WriteLine(Add(1, 2, 3));
    }
}

Different Types

Overloading by parameter type.

using System;

class Program
{
    static void Display(int a)
    {
        Console.WriteLine("Integer: " + a);
    }
    static void Display(string a)
    {
        Console.WriteLine("String: " + a);
    }
    
    static void Main()
    {
        Display(100);
        Display("Hello");
    }
}