C#方法签名以及怎样的两个方法才算是不同的方法-创新互联

方法签名由方法名称和一个参数列表(方法的参数个数、顺序和类型)组成。

我们提供的服务有:做网站、网站建设、微信公众号开发、网站优化、网站认证、迭部ssl等。为上千企事业单位解决了网站和推广的问题。提供周到的售前咨询和贴心的售后服务,是有科学管理、有技术的迭部网站制作公司

注意:方法的签名并不包括方法的返回值和修饰符。

在C#中,同一个类中的两个或两个以上的方法可以相同的名字,只要他们的参数列表声明不同即可。在这种情况下,该方法就被称为重载(overload),这个过程称为方法重载(method overloading)。方法重载是C#最有用的特性之一。

当一个方法被调用时,C#用方法签名确定调用哪一个方法。因此,每个重载方法的参数列表必须是不同的。虽然每个重载方法可以有不同的返回类型,但是返回值类型并不足以区分所条用的是哪个方法。当C#调用一个重载方法时,参数与调用参数相匹配的那个方法会被执行。

 ①     public static int Min(int a,string b)
        {
            return 1;
        }

 ②     public static string Min(int a, string b) //错误提示:已经定义了一个名为Min的具有相同类型参数的成员
        {
            return "1";
        }

 ③     public static void Min(int a, string b) //错误提示:已经定义了一个名为Min的具有相同类型参数的成员
        {

        }

 ④     private static int Min(int a, string b) //错误提示:已经定义了一个名为Min的具有相同类型参数的成员
        {
            return 1;
        }

 ⑤     public int Min(int a, string b) //错误提示:已经定义了一个名为Min的具有相同类型参数的成员
        {
            return 1;
        }

 ⑥     public static int Abc(int a,string b) //方法名称不同
        {
            return 1;
        }

 ⑦     public static int Min(int a, string b ,int c) //参数列表不同
        {
            return 1;
        }

 ⑧     public static int Min(string a, int b)
        {
            return 1;
        }

 ⑨     public static int Min(string a, char b)
        {
            return 1;
        }

①与⑥、⑦、⑧、⑨对比,我们发现他们是不同的方法; ①与②、③、④、⑤对比,我们发现他们是相同的方法。这就说明,只有两个方法的方法签名不同,才是说他们是不同的方法。

创新互联www.cdcxhl.cn,专业提供香港、美国云服务器,动态BGP最优骨干路由自动选择,持续稳定高效的网络助力业务部署。公司持有工信部办法的idc、isp许可证, 机房独有T级流量清洗系统配攻击溯源,准确进行流量调度,确保服务器高可用性。佳节活动现已开启,新人活动云服务器买多久送多久。


文章标题:C#方法签名以及怎样的两个方法才算是不同的方法-创新互联
网页路径:http://myzitong.com/article/didehg.html