sun123qiujun 2015-01-01 03:30 采纳率: 100%
浏览 1696
已采纳

为什么这个不能实现函数重载?

public int hanshu(int a)
{
return a;
}
public void hanshu(int b)
{
Console.WriteLine(b);
}
它们不是参数返回值都不同么?

  • 写回答

5条回答 默认 最新

  • threenewbee 2015-01-01 03:39
    关注

    C#规定,函数重载必须是参数不同,相同参数不同返回值没法构成重载,非但没法构成重载,甚至编译都不通过。
    所谓参数不同,是指参数个数不同,或者/并且参数在相同顺序上的类型不同,光形参名不同不算参数不同。

    顺便说下,IL层面是支持不同返回值相同参数构成的函数重载,C#的运算符重载可以说是一个特例。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(4条)

报告相同问题?