C#返回类型不同是否为方法重载?

C#返回类型不同是否为方法重载?publicstringb(inta,stringname){returna;}publicvoidb(stringname,inta){... C#返回类型不同是否为方法重载?

public string b(int a, string name) { return a; }
public void b(string name, int a) { }
展开
 我来答
wldrl123
推荐于2017-11-25 · TA获得超过119个赞
知道答主
回答量:143
采纳率:0%
帮助的人:58.9万
展开全部
重载的概念是:

方法名称相同,参数个数、次序、类型不同

因此重载对返回值没有要求,可以相同,也可以不同

但是如果参数的个数、类型、次序都相同,方法名也相同,仅返回值不同,则无法构成重载

如:

public int A(int i);

public double A(int i);

这2个方法不能构成重载,会有编译错误。

而:

public int A(int i):

public double A(double i);

这2个方法可以形成重载

因此你的是
追问
就是说参数 参数顺序 参数个数 相同不为重载,返回类型相同或者不相同,但参数不同,或顺序不同,就为重载!
goldztx
2012-05-10
知道答主
回答量:24
采纳率:0%
帮助的人:27.1万
展开全部
参数不同为重载,返回值不算。

你可以尝试一下

public string a(string s)
public void a(string a)
这样编译不过去。

因为这样无法识别!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
lgao622
2015-08-17 · 知道合伙人软件行家
lgao622
知道合伙人软件行家
采纳数:1137 获赞数:6550
毕业于武汉工程大学邮电与信息工程学院通信专业,软件行业,4年工作经验。

向TA提问 私信TA
展开全部
  1. 返回类型不同 不是 方法重载。

  2. 方法重载必须满足以下两点之一:

    (1)参数个数不同。

    (2)参数类型不同。

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
江流烦恼
2012-05-10
知道答主
回答量:46
采纳率:100%
帮助的人:12.6万
展开全部
返回类型不同,不能称之为“重载”,但是如你问题举的例子,参数个数相同,但是顺序不同,这样是可以是构成重载的
追问
如果一个没有参数,一个有参数呢?  是否构成重载?
public string b(int a, string name) { return a; }
public void b() { }

会否会报错,不采用0个参数什么的?
追答
是重载,不会报错
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
jobmaxmoney
2012-07-27
知道答主
回答量:2
采纳率:0%
帮助的人:3166
展开全部
像楼主说的这样,其实没必要弄成void和其他类型一样的方法,因为,就算有返回参数,在调用的时候可以不接受,或者不使用。如果是这个的话,可以这样

public object b(int a, string name,string type) {
if ("List".Equals(type))
reutrn new List<object>();
else
renturn new DataTable();
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(5)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式