您好,登錄后才能下訂單哦!
方法簽名由方法名稱和一個參數(shù)列表(方法的參數(shù)個數(shù)、順序和類型)組成。
注意:方法的簽名并不包括方法的返回值和修飾符。
在C#中,同一個類中的兩個或兩個以上的方法可以相同的名字,只要他們的參數(shù)列表聲明不同即可。在這種情況下,該方法就被稱為重載(overload),這個過程稱為方法重載(method overloading)。方法重載是C#最有用的特性之一。
當(dāng)一個方法被調(diào)用時,C#用方法簽名確定調(diào)用哪一個方法。因此,每個重載方法的參數(shù)列表必須是不同的。雖然每個重載方法可以有不同的返回類型,但是返回值類型并不足以區(qū)分所條用的是哪個方法。當(dāng)C#調(diào)用一個重載方法時,參數(shù)與調(diào)用參數(shù)相匹配的那個方法會被執(zhí)行。
① public static int Min(int a,string b) { return 1; } ② public static string Min(int a, string b) //錯誤提示:已經(jīng)定義了一個名為Min的具有相同類型參數(shù)的成員 { return "1"; } ③ public static void Min(int a, string b) //錯誤提示:已經(jīng)定義了一個名為Min的具有相同類型參數(shù)的成員 { } ④ private static int Min(int a, string b) //錯誤提示:已經(jīng)定義了一個名為Min的具有相同類型參數(shù)的成員 { return 1; } ⑤ public int Min(int a, string b) //錯誤提示:已經(jīng)定義了一個名為Min的具有相同類型參數(shù)的成員 { return 1; } ⑥ public static int Abc(int a,string b) //方法名稱不同 { return 1; } ⑦ public static int Min(int a, string b ,int c) //參數(shù)列表不同 { return 1; } ⑧ public static int Min(string a, int b) { return 1; } ⑨ public static int Min(string a, char b) { return 1; }
①與⑥、⑦、⑧、⑨對比,我們發(fā)現(xiàn)他們是不同的方法; ①與②、③、④、⑤對比,我們發(fā)現(xiàn)他們是相同的方法。這就說明,只有兩個方法的方法簽名不同,才是說他們是不同的方法。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。