C#只能靠参数而不能靠返回值类型的不同来区分方法重载

重载必须要用参数来区分,传入不同参数,可以实现重载。

可以这样理解,你调用一个方法,如果有多个方法同名,系统必须要知道到底你要调用哪一个,参数可以帮助系统在方法入口处得到答案,他根据你给的参数就知道该将哪个方法的入口调入栈中。

如果只有返回值的不同,很多情况系统是不可能得到有效的判断条件的。

比如:string method();

int method();

上面两个方法,第一个返回字符串类型值,第二个的返回值是整数类型。

如果你这样调用:method();

在这种情况下,编译器和程序员都不知道哪个method方法被调用。