EDUCBA

EDUCBA

MENUMENU
  • Free Tutorials
  • Free Courses
  • Certification Courses
  • 600+ Courses All in One Bundle
  • Login

Method Overloading in C#

By Priya PedamkarPriya Pedamkar

Home » Software Development » Software Development Tutorials » C# Tutorial » Method Overloading in C#

Method Overloading in C#

What is Method Overloading in C#?

When you want to implement the feature of polymorphism, it is done with method overloading. In layman term, if we want to use one function for more than one form, we use method overloading. Since C# is OOPs based language, it completely supports polymorphism.

A programmer can use one class multiple times with the same name with different parameters. While using performing polymorphism, two classes or methods could use the same name.

Start Your Free Software Development Course

Web development, programming languages, Software testing & others

Let’s talk about the various methods of using parameters in the classes and methods of c#.

  1. We can overload the method based on several parameters passed. In methods, parameters should be passed as arguments.
  2. Two methods can not be defined with the same name with the same type and order of the parameters passed. It would give you an error.
  3. Though the compiler’s return type is not considered, two methods can not be declared with the same name, type or signature.

What is the Use of Method Overloading?

When you do not want to declare more than one method for a similar type of method for similar tasks to be performed and want to use the same method in different ways, for example, different inputs, different order, different number of inputs for the same methods, you should use method overloading.

Let’s take a real-life example. We are coding for a calculator where you are provided to code for the sum part of the calculator. All the numbers which the user is entering should be added to each other and return the sum of all the number entered.

There is a restriction. Users can not add more than three numbers in one go.

Popular Course in this category
C# Training Program (6 Courses, 17 Projects)6 Online Courses | 17 Hands-on Project | 89+ Hours | Verifiable Certificate of Completion | Lifetime Access
4.6 (8,847 ratings)
Course Price

View Course

Related Courses
ASP.NET Training (8 Courses, 19 Projects).NET Training Program (4 Courses, 19 Projects)

Here are the steps to do it easily:

  1. Declare a method that should sum all the numbers passed in parameters
  2. The numbers of parameters passed would do method overloading.
  3. The method should return the sum of all the numbers entered.

Syntax

Here is the syntax of method overloading.

//declare the parameters in method
public void method1 (parameter1, parameter2)
{
//some statement
}
public void method1(parameter2, parameter1)
{
//some statement to be executed
}
//in main method pass the parameters while declaring these methods
public static void Main(Strings[] args)
{
class object=new class();
object.method(2, 3)  //value of parameter
object.method(3, 2) //value of parameter by changing the order
}
}

Examples of Method Overloading

Method overloading in C# can be done by changing the below things.

  1. You can change the number of parameters passed in the method
  2. You can change the type of parameters passed in the method
  3. You can change the order of parameters passed in the method.

If the same type of signature and parameters are passed in the same method, it will give you a compilation error. The signature should be different if using the feature of polymorphism or trying to overload a method in C#

Let’s take an example of each.

1. Changing the number of parameters

Code:

using System;
public class methodOverloadfirst
{
//declaring two integers x and y.
public int sum(int x, int y)
{
int result=x+y;
return result;
}
//Let’s add three integers in same method
public int sum(int x, int y, int z)
{
int result=x+y+z;
return result;
}
//Declare main method
public static void Main(String[] args)
{
methodOverloadfirst obj=new methodOverloadfirst();
int result1=obj.sum(2, 3);
Console.WriteLine("The Sum of the two integer value is : " + result1);
int result2=obj.sum(2, 3, 4);
Console.WriteLine("The Sum of the three integer value is : " + result2);
}
}

Output:

Method Overloading output 1

2. Changing the Data Types of the parameters

//Our program to show the function of method overloading
//We will change the data type of parameters here.

Code:

using System;
public class methodOverloadfirst
{
//declaring two integers x and y.
public int sum(int x, int y)
{
int result=x+y;
return result;
}
//Let’s add three doubles in same method
public double sum(double x, double y, double z)
{
double result=x+y+z;
return result;
}
//Declare main method
public static void Main(String[] args)
{
methodOverloadfirst obj=new methodOverloadfirst();
int result1=obj.sum(2, 3);
Console.WriteLine("The Sum of the two integer value is : " + result1);
double result2=obj.sum(2.1, 3.2, 4.5);
Console.WriteLine("The Sum of the three double value is : " + result2);
}
}

Output:

Method Overloading output 2

3. Changing the Data Types of the parameters.

//Our program to show the function of method overloading
//We will change the data type of parameters here.

Code:

using System;
class methodOverloadfirst
{
//declaring one integer and one String
public void displayinfo(string fname, int empID){
Console.WriteLine("Your name is: " + fname + " , " + "Your Employee ID is: " + empID);
}
//Let’s change the order of the parameters
public void displayinfo(int empID, string fname)
{
Console.WriteLine("Your Employee ID is: " + empID + " , " + "Your name is: " + fname);
}
//Declare main method
public static void Main(String[] args)
{
methodOverloadfirst obj=new methodOverloadfirst();
obj.displayinfo("Kumar", 121);
obj.displayinfo("Anand", 123);
}
}

Output:

Employee id

Conclusion

Method overloading is an amazing feature of OOPs based concept and could save you from a lot of hassle if you are a programmer. Method overloading is one of the polymorphism features. If used properly, it could keep you from declaring more than one method and declaring it every time for a similar task.

While using this feature is the type of signature. This should be different each time the method is used either by several parameters and order by parameters or by type of parameters shown above in the examples.

Recommended Articles

This is a guide to Method Overloading in C#. Here we discuss the Use of Method Overloading with different examples and outputs in detail. You may also look at the following article to learn more –

  1. Destructor in C#
  2. Overloading in C#
  3. C# Compilers
  4. Overloading and Overriding in C#

C# Training Program (6 Courses, 17 Projects)

6 Online Courses

17 Hands-on Project

89+ Hours

Verifiable Certificate of Completion

Lifetime Access

Learn More

0 Shares
Share
Tweet
Share
Primary Sidebar
C sharp Tutorial
  • overloading and overrideing
    • Overloading and Overriding in C#
    • Overloading in C#
    • Overriding in C#
    • Method Overloading in C#
    • Method Overriding in C#
    • Operator Overloading in C#
  • Basic
    • Uses Of C#
    • C# Versions
    • C# Data Types
    • Variables in C#
    • Namespaces in C#
    • C# Compilers
    • C# Keywords
    • Iterators in C#
    • Objects in C#
    • C# Object Dispose
    • C# object to XML
    • C# check object type
    • C# Object Serialization
    • Pointers in C#
    • C# Literals
    • C# Commands
    • C# Custom Attribute
    • Type Casting in C#
    • String vs String C#
    • C# Struct vs Class
  • Operators
    • Logical Operators in C#
    • Conditional Operators in C#
    • Bitwise Operators in C#
    • C# OR Operator
    • C# Ternary Operators
    • Operator Precedence in C#
  • Control Statement
    • C# if Statement
    • Else If in C#
    • Continue in C#
    • Break in C#
    • Switch Statement in C#
    • Goto Statement in C#
  • Loops
    • C# For Loop
    • C# While Loop
    • C# do-while loop
    • C# foreach Loop
  • Arrays
    • Arrays in C#
    • 2D Arrays in C#
    • C# Jagged Arrays
    • String Array in C#
    • C# Multidimensional Arrays
  • Constructor and Destructor
    • Constructor in C#
    • Copy Constructor in C#
    • Static Constructor in C#
    • Destructor in C#
  • Functions
    • C# Functions
    • C# String Functions
    • Math Functions in C#
    • Recursive Function in C#
    • C# Anonymous Functions
    • C# Local Functions
    • Enum in C#
    • Trim() in C#
    • clone() in C#
    • C# random
    • C# String Format()
    • C# String Interpolation
    • C# StartsWith()
    • C# String IndexOf()
    • DateTime in C#
    • C# Nullable
    • C# nameof
    • C# checked
    • C# String PadLeft
    • Convert String to Double in C#
    • Convert int to String C#
    • String to Date C#
    • C# intern()
    • C# Stopwatch
    • C# DirectoryInfo
    • C# Compare()
    • C# Base
    • C# SOAP
    • Lock in C#
  • Advanced
    • Inheritance in C#
    • Exception Handling in C#
    • Types of Exception in C#
    • C# FileNotFoundException
    • C# NullReferenceException
    • C# OutOfMemoryException
    • C# StackOverflowException
    • Custom Exception in C#
    • What is Multithreading in C#
    • C# finally
    • C# System.IO
    • What is StringBuilder in C#
    • DataReader C#
    • BinaryWriter in C#
    • C# BinaryReader
    • TextWriter in C#
    • TextReader in C#
    • C# StringReader
    • C# StringWriter
    • C# StreamReader
    • C# StreamWriter
    • C# FileInfo
    • What is Design Pattern in C#?
    • Multithreading in C#
    • Sorting in C#
    • Bubble Sort in C#
    • C# SortedList
    • C# SortedSet
    • C# SortedDictionary
    • Abstract Class in C#
    • Access Modifiers in C#
    • C# Generics
    • Deserialization in C#
    • C# Thread
    • C# Thread Join
    • C# Thread Sleep
    • C# Thread Synchronization
    • C# Class
    • Sealed in C#
    • Sealed Class in C#
    • Polymorphism in C#
    • C# Call By Reference
    • Virtual Keyword in C# 
    • Yield Keyword in C#
    • Regular Expression in C#
    • C# Lambda Expression
    • C# Predicate
    • Convert Object to JSON C#
    • Checkbox in C#
    • C# MessageBox
    • Collections in C#
    • List in C#
    • C# LinkedList
    • Listbox in C#
    • Protected in C#
    • C# EventHandler
    • Private in C#
    • this Keyword in C#
    • Static Keyword in C#
    • C# Out Parameter
    • Assert in C#
    • C# Delegates
    • C# Interface
    • Generics in C#
    • Timer in C#
    • C# Serialization
    • Metadata in C#
    • C# Stack
    • C# Using Static
    • Queue in C#
    • C# File.Exists
    • C# Tuples
    • C# Create JSON Object
    • Partial in C#
    • C# readonly
    • C# Action Delegate
    • C# Await Async
    • C# Dictionary
    • IEnumerable C#
    • C# Data Grid View
    • C# Dynamic
    • Web Services in C#
    • C# Pattern Matching
    • C# Extension Methods
    • C# XmlSerializer
  • Programs
    • Patterns in C#
    • Swapping in C#
    • Palindrome in C#
    • Factorial in C#
    • Fibonacci Series in C#
    • Random Number Generator in C#
    • Prime Numbers in C#
    • Armstrong Number in C#
    • Reverse String in C#
  • Interview questions
    • C# Interview Questions and Answers
    • C# OOP Interview Questions
    • C# Design Pattern Interview Questions

Related Courses

C# Certification Training

ASP.NET Course

.NET Course

Footer
About Us
  • Blog
  • Who is EDUCBA?
  • Sign Up
  • Corporate Training
  • Certificate from Top Institutions
  • Contact Us
  • Verifiable Certificate
  • Reviews
  • Terms and Conditions
  • Privacy Policy
  •  
Apps
  • iPhone & iPad
  • Android
Resources
  • Free Courses
  • Java Tutorials
  • Python Tutorials
  • All Tutorials
Certification Courses
  • All Courses
  • Software Development Course - All in One Bundle
  • Become a Python Developer
  • Java Course
  • Become a Selenium Automation Tester
  • Become an IoT Developer
  • ASP.NET Course
  • VB.NET Course
  • PHP Course

© 2020 - EDUCBA. ALL RIGHTS RESERVED. THE CERTIFICATION NAMES ARE THE TRADEMARKS OF THEIR RESPECTIVE OWNERS.

EDUCBA Login

Forgot Password?

EDUCBA
Free Software Development Course

Web development, programming languages, Software testing & others

*Please provide your correct email id. Login details for this Free course will be emailed to you
Book Your One Instructor : One Learner Free Class

Let’s Get Started

This website or its third-party tools use cookies, which are necessary to its functioning and required to achieve the purposes illustrated in the cookie policy. By closing this banner, scrolling this page, clicking a link or continuing to browse otherwise, you agree to our Privacy Policy

EDUCBA

*Please provide your correct email id. Login details for this Free course will be emailed to you
EDUCBA
Free Software Development Course

Web development, programming languages, Software testing & others

*Please provide your correct email id. Login details for this Free course will be emailed to you

Special Offer - C# Training Program (6 Courses, 17 Projects) Learn More