{"id":15650,"date":"2022-10-12T11:22:54","date_gmt":"2022-10-12T05:52:54","guid":{"rendered":"https:\/\/jassweb.com\/solved\/solved-c-overloaded-methods\/"},"modified":"2022-10-12T11:22:54","modified_gmt":"2022-10-12T05:52:54","slug":"solved-c-overloaded-methods","status":"publish","type":"post","link":"https:\/\/jassweb.com\/solved\/solved-c-overloaded-methods\/","title":{"rendered":"[Solved] C# overloaded methods"},"content":{"rendered":"<p> [ad_1]<br \/>\n<\/p>\n<div id=\"answer-34488364\" class=\"answer js-answer accepted-answer js-accepted-answer\" data-answerid=\"34488364\" data-parentid=\"34488086\" data-score=\"3\" data-position-on-page=\"1\" data-highest-scored=\"1\" data-question-has-accepted-highest-score=\"1\" itemprop=\"acceptedAnswer\" itemscope itemtype=\"https:\/\/schema.org\/Answer\">\n<div class=\"post-layout\">\n<div class=\"votecell post-layout--left\"><\/div>\n<div class=\"answercell post-layout--right\">\n<div class=\"s-prose js-post-body\" itemprop=\"text\">\n<p>Two methods with the same name but different signatures is called overloaded method. At compile time Compiler will identify the method based on the method signature even though the name of the method is same.<\/p>\n<pre><code>void Add(int x, int y)\n{\n    Console.WriteLine(\"Add int\");\n}\nvoid Add(double x, double y)\n{\n    Console.WriteLine(\"Add double\");\n} \n<\/code><\/pre>\n<p>Here the Add(double x, double y) overlaods the first fuction Add(int x, int y) same name different signatures.<br \/>\nIf we call Add(4,2) it will call the  Add(int x, int y) function<br \/>\nand if we call Add(4.0,2.0) it will call the Add(double x, double y) function.<\/p>\n<h2>Criteria for method overloading.<\/h2>\n<ol>\n<li>Same name different signature.<\/li>\n<li>\n<p>Different number of arguments or Different types of arguments or Different order of arguments.<\/p>\n<\/li>\n<li>\n<p>Can&#8217;t overload method by Changing the return type of the method. Because return value alone is not sufficient for the compiler to figure out which method to call. Also the return type of a method is not considered to be part of a method&#8217;s signature.<\/p>\n<\/li>\n<\/ol>\n<p>Also note, the <code>out<\/code> and <code>ref<\/code> parameter modifies <em>can<\/em> be used to differinate to overloads, like so:<\/p>\n<pre><code>void method1(int x);\nvoid method1(out int x);\n\nvoid method2(char c);\nvoid method2(ref char c);\n<\/code><\/pre>\n<p>However, you cannot do this:<\/p>\n<pre><code>void method(out int x);\nvoid method(ref int x);\n<\/code><\/pre>\n<p>As <code>ref<\/code> and <code>out<\/code> do not differentiate from one another, in an overload sense.<br \/>\nAnd be careful with overloads like this:<\/p>\n<pre><code>void method(int x) =&gt; Console.Writeline(x);\nvoid method(int x, int y = 0) =&gt; Console.Writeline(x * y);\n<\/code><\/pre>\n<p>This will compile and work, but the compiler will default to the first method that has one parameter, until you specify the second parameter, then it will call the second method.<\/p>\n<\/p><\/div>\n<div class=\"mt24\"><\/div>\n<\/div>\n<p>            <span class=\"d-none\" itemprop=\"commentCount\"><\/span> <\/p><\/div>\n<\/div>\n<p>[ad_2]<\/p>\n<p>solved C# overloaded methods <\/p>\n","protected":false},"excerpt":{"rendered":"<p>[ad_1] Two methods with the same name but different signatures is called overloaded method. At compile time Compiler will identify the method based on the method signature even though the name of the method is same. void Add(int x, int y) { Console.WriteLine(&#8220;Add int&#8221;); } void Add(double x, double y) { Console.WriteLine(&#8220;Add double&#8221;); } Here &#8230; <a title=\"[Solved] C# overloaded methods\" class=\"read-more\" href=\"https:\/\/jassweb.com\/solved\/solved-c-overloaded-methods\/\" aria-label=\"More on [Solved] C# overloaded methods\">Read more<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[320],"tags":[324,419],"class_list":["post-15650","post","type-post","status-publish","format-standard","hentry","category-solved","tag-c","tag-methods"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.5 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>[Solved] C# overloaded methods - JassWeb<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/jassweb.com\/solved\/solved-c-overloaded-methods\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"[Solved] C# overloaded methods - JassWeb\" \/>\n<meta property=\"og:description\" content=\"[ad_1] Two methods with the same name but different signatures is called overloaded method. At compile time Compiler will identify the method based on the method signature even though the name of the method is same. void Add(int x, int y) { Console.WriteLine(&quot;Add int&quot;); } void Add(double x, double y) { Console.WriteLine(&quot;Add double&quot;); } Here ... Read more\" \/>\n<meta property=\"og:url\" content=\"https:\/\/jassweb.com\/solved\/solved-c-overloaded-methods\/\" \/>\n<meta property=\"og:site_name\" content=\"JassWeb\" \/>\n<meta property=\"article:published_time\" content=\"2022-10-12T05:52:54+00:00\" \/>\n<meta name=\"author\" content=\"Kirat\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Kirat\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"1 minute\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/jassweb.com\/solved\/solved-c-overloaded-methods\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/jassweb.com\/solved\/solved-c-overloaded-methods\/\"},\"author\":{\"name\":\"Kirat\",\"@id\":\"https:\/\/jassweb.com\/solved\/#\/schema\/person\/65c9c7b7958150c0dc8371fa35dd7c31\"},\"headline\":\"[Solved] C# overloaded methods\",\"datePublished\":\"2022-10-12T05:52:54+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/jassweb.com\/solved\/solved-c-overloaded-methods\/\"},\"wordCount\":233,\"publisher\":{\"@id\":\"https:\/\/jassweb.com\/solved\/#organization\"},\"keywords\":[\"c++\",\"methods\"],\"articleSection\":[\"Solved\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/jassweb.com\/solved\/solved-c-overloaded-methods\/\",\"url\":\"https:\/\/jassweb.com\/solved\/solved-c-overloaded-methods\/\",\"name\":\"[Solved] C# overloaded methods - JassWeb\",\"isPartOf\":{\"@id\":\"https:\/\/jassweb.com\/solved\/#website\"},\"datePublished\":\"2022-10-12T05:52:54+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/jassweb.com\/solved\/solved-c-overloaded-methods\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/jassweb.com\/solved\/solved-c-overloaded-methods\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/jassweb.com\/solved\/solved-c-overloaded-methods\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/jassweb.com\/solved\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"[Solved] C# overloaded methods\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/jassweb.com\/solved\/#website\",\"url\":\"https:\/\/jassweb.com\/solved\/\",\"name\":\"JassWeb\",\"description\":\"Build High-quality Websites\",\"publisher\":{\"@id\":\"https:\/\/jassweb.com\/solved\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/jassweb.com\/solved\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/jassweb.com\/solved\/#organization\",\"name\":\"Jass Web\",\"url\":\"https:\/\/jassweb.com\/solved\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/jassweb.com\/solved\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/jassweb.com\/wp-content\/uploads\/2021\/02\/jass-website-logo-1.png\",\"contentUrl\":\"https:\/\/jassweb.com\/wp-content\/uploads\/2021\/02\/jass-website-logo-1.png\",\"width\":693,\"height\":132,\"caption\":\"Jass Web\"},\"image\":{\"@id\":\"https:\/\/jassweb.com\/solved\/#\/schema\/logo\/image\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\/\/jassweb.com\/solved\/#\/schema\/person\/65c9c7b7958150c0dc8371fa35dd7c31\",\"name\":\"Kirat\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/jassweb.com\/solved\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/jassweb.com\/solved\/wp-content\/litespeed\/avatar\/1261af3c9451399fa1336d28b98ea3bb.jpg?ver=1776403586\",\"contentUrl\":\"https:\/\/jassweb.com\/solved\/wp-content\/litespeed\/avatar\/1261af3c9451399fa1336d28b98ea3bb.jpg?ver=1776403586\",\"caption\":\"Kirat\"},\"sameAs\":[\"http:\/\/jassweb.com\"],\"url\":\"https:\/\/jassweb.com\/solved\/author\/jaspritsinghghumangmail-com\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"[Solved] C# overloaded methods - JassWeb","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/jassweb.com\/solved\/solved-c-overloaded-methods\/","og_locale":"en_US","og_type":"article","og_title":"[Solved] C# overloaded methods - JassWeb","og_description":"[ad_1] Two methods with the same name but different signatures is called overloaded method. At compile time Compiler will identify the method based on the method signature even though the name of the method is same. void Add(int x, int y) { Console.WriteLine(\"Add int\"); } void Add(double x, double y) { Console.WriteLine(\"Add double\"); } Here ... Read more","og_url":"https:\/\/jassweb.com\/solved\/solved-c-overloaded-methods\/","og_site_name":"JassWeb","article_published_time":"2022-10-12T05:52:54+00:00","author":"Kirat","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Kirat","Est. reading time":"1 minute"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/jassweb.com\/solved\/solved-c-overloaded-methods\/#article","isPartOf":{"@id":"https:\/\/jassweb.com\/solved\/solved-c-overloaded-methods\/"},"author":{"name":"Kirat","@id":"https:\/\/jassweb.com\/solved\/#\/schema\/person\/65c9c7b7958150c0dc8371fa35dd7c31"},"headline":"[Solved] C# overloaded methods","datePublished":"2022-10-12T05:52:54+00:00","mainEntityOfPage":{"@id":"https:\/\/jassweb.com\/solved\/solved-c-overloaded-methods\/"},"wordCount":233,"publisher":{"@id":"https:\/\/jassweb.com\/solved\/#organization"},"keywords":["c++","methods"],"articleSection":["Solved"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/jassweb.com\/solved\/solved-c-overloaded-methods\/","url":"https:\/\/jassweb.com\/solved\/solved-c-overloaded-methods\/","name":"[Solved] C# overloaded methods - JassWeb","isPartOf":{"@id":"https:\/\/jassweb.com\/solved\/#website"},"datePublished":"2022-10-12T05:52:54+00:00","breadcrumb":{"@id":"https:\/\/jassweb.com\/solved\/solved-c-overloaded-methods\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/jassweb.com\/solved\/solved-c-overloaded-methods\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/jassweb.com\/solved\/solved-c-overloaded-methods\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/jassweb.com\/solved\/"},{"@type":"ListItem","position":2,"name":"[Solved] C# overloaded methods"}]},{"@type":"WebSite","@id":"https:\/\/jassweb.com\/solved\/#website","url":"https:\/\/jassweb.com\/solved\/","name":"JassWeb","description":"Build High-quality Websites","publisher":{"@id":"https:\/\/jassweb.com\/solved\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/jassweb.com\/solved\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/jassweb.com\/solved\/#organization","name":"Jass Web","url":"https:\/\/jassweb.com\/solved\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/jassweb.com\/solved\/#\/schema\/logo\/image\/","url":"https:\/\/jassweb.com\/wp-content\/uploads\/2021\/02\/jass-website-logo-1.png","contentUrl":"https:\/\/jassweb.com\/wp-content\/uploads\/2021\/02\/jass-website-logo-1.png","width":693,"height":132,"caption":"Jass Web"},"image":{"@id":"https:\/\/jassweb.com\/solved\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/jassweb.com\/solved\/#\/schema\/person\/65c9c7b7958150c0dc8371fa35dd7c31","name":"Kirat","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/jassweb.com\/solved\/#\/schema\/person\/image\/","url":"https:\/\/jassweb.com\/solved\/wp-content\/litespeed\/avatar\/1261af3c9451399fa1336d28b98ea3bb.jpg?ver=1776403586","contentUrl":"https:\/\/jassweb.com\/solved\/wp-content\/litespeed\/avatar\/1261af3c9451399fa1336d28b98ea3bb.jpg?ver=1776403586","caption":"Kirat"},"sameAs":["http:\/\/jassweb.com"],"url":"https:\/\/jassweb.com\/solved\/author\/jaspritsinghghumangmail-com\/"}]}},"_links":{"self":[{"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/posts\/15650","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/comments?post=15650"}],"version-history":[{"count":0,"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/posts\/15650\/revisions"}],"wp:attachment":[{"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/media?parent=15650"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/categories?post=15650"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/tags?post=15650"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}