C#方法重载问题

public void add(int a, int b)
{
Console.WriteLine(a+b);
}
public int add(int a,int b)
{
return a + b;
}
请问这是方法重载么?满足方法名相同,返回值不同或参数列表不同,为什么vs2010会报错:错误 1 在以下方法或属性之间的调用不明确:“Test.Tdemo.add(int, int)”和“Test.Tdemo.add(int, int)”

第1个回答  2013-08-21
这个不算重载因为:一.方法名一定要相同。   二.方法的参数表必须不同,包括参数的类型或个数,以此区分不同的方法体。   1.如果参数个数不同,就不管它的参数类型了!   2.如果参数个数相同,那么参数的类型或者参数的顺序必须不同。  三.方法的返回类型、修饰符可以相同,也可不同。可见重载不是根据返回值定义的.
第2个回答  2013-08-21
这个不是方法重载,方法重载是与参数相关,参数的类型,大小,顺序。与返回参数无关。
第3个回答  2013-08-21
重载中注意:不允许方法的参数类型相同,而返回值不同。、
第4个回答  2013-08-21
这样会覆盖的 方法名虽然相同 但是你的参数的数据类型和个数 是一样的 系统会误认为是一样的 虽然两者的操作不一样
第5个回答  2013-08-21
方法名一定要相同,参数个数不同、参数类型不同、多个参数时参数顺序不同,返回值没关系,符合这些条件的就是重载啦,你的两个方法名字相同,参数也相同,编译器哪知道你调用的是哪个?本回答被网友采纳

C# 类的get、set方法以及方法重载
构造方法重载确保了在创建对象时,用户能够根据需求选择合适的构造方法,提高了代码的可读性和维护性。“this”关键字在构造方法中起到关键作用,用于调用类的其他构造方法或访问类的成员,增强代码的灵活性和可复用性。

C#关于实现接口,方法重载的问题
这与方法重载没关系。他们的区别就在于一个是接口的隐式实现,一个是显示实现。public interface IRoom { int AddRoom();} public class Room : IRoom { public int AddRoom(){ throw new Exception("The method or operation is not implemented.");} int IRoom.AddRoom(){ throw new Except...

C#中多态与重载的区别
{ public void Hello(){ } public void Hello(string str){ } public string Hello(){ } } 在这段代码中有三个具有相同名称的方法Hello,他们彼此之间是重载的关系,注意两点:他们共同存在于一个类中,虽有同样的名字但是执行不同的操作;第一个方法和第三个方法只有返回类型不同,这在C# 中是...

C#中重载是什么意思???
具有相同的方法名,只要其使用的参数个数或是参数类型不同,编译器变能够根据实参的不同确定在哪种情况下调用哪个方法,这就构成了方法的重载。方法的重载方式主要有两种:参数个数不同的重载。参数是不同类型的重载。如:class Add { \/\/计算两个int类型变量的和 public int Sum(int para1...

C#中Point方法没有采用2个参数的重载,什么意思?
说明point方法中的参数可能是一个也可能没有,但就是没有2个的所以就会有你说的这个问题,如果真的需要两个参数的重载,可以在自己定义的方法中,加上有两个参数的重载。这样在调用这个方法时就能使用2个参数的重载了,同理,你也可以增加3个、4个、5个、、、看自己需要 ...

C# 那些可以重载 .那些不可以重载?
上面那个哥子说的是重写哦。重载的意思是同样的方法或者函数,采用不同的参数。比如你写了N个名字相同的方法或者函数,但是参数必须是不同的。所以,所有方法和函数都能被重载。+ - × \/可以理解为一个方法(它是操作符),也可以重载。不过重载方式有点特殊。

C#返回类型不同是否为方法重载?
方法名称相同,参数个数、次序、类型不同 因此重载对返回值没有要求,可以相同,也可以不同 但是如果参数的个数、类型、次序都相同,方法名也相同,仅返回值不同,则无法构成重载 如:public int A(int i);public double A(int i);这2个方法不能构成重载,会有编译错误。而:public int A(int ...

c#什么是重载?重载的作用是什么?请举例说明
重载就是多个方法使用一个方法名,但是参数的个数或类型不同,但他们的作用一般是相同的 重载的作用就是传递不同的参数实现相同的效果 下面给个例子:\/\/……public class OverLoad{ \/\/……int a(){ \/\/……} int a(int x){ \/\/……} int a(int x,int y){ \/\/……} \/\/……} ...

C#重载一个运算符的时候报这种错误怎么解决呢?
这个问题软糖来解答把。问题解析:==和!=这两个运算符依赖于 Equals 和 GetHashCode 这两个方法。 所以需要重写相等判断和获取哈希值的方法。解决方案:输入overri然后按Tab会出现一个菜单,选择会自动生成重写。public override bool Equals(object obj) { return base.Equals(obj);} public override ...

C# 中 没有找到合适的方法重写,哪位大侠知道一下啊
你要确定以下两点,1,这个方法所在的类是否继承自另一个类。2.,该类的基类不否有一个public static void OnMouseDown的方法。

相似回答