qq_43412960
qq_43412960
2018-11-28 05:27
采纳率: 79.1%
浏览 670

关于一个C#的返回值问题

public bool daxiao(string a, string b)
{
if (a.Length > b.Length)
return true;
else if (a.Length < b.Length)
return false;
else if (a.Length == b.Length)
{
for (int i = 0; i < a.Length; i++)
{
if (a[i] - '0' > b[i] - '0')
return true;
if(a[i] - '0' <b[i] - '0')
return false;
}
}

 }
    这是类中的一个方法
    c#中return 用法,应该是,在函数中所有可能的路径都有return,但是我写的代码,当两个数相同时,无返回值,运行时没有报错,为什么?
  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

3条回答 默认 最新

  • caozhy
    已采纳

    你这个不算所有的可能的路径,因为当a.Length == 0的时候,不执行循环,还是没有返回值。

    点赞 评论
  • qq_39711861
    qq_39711861 2018-11-28 05:34

    我复制了你这个方法,没运行就提示错误图片说明

    点赞 评论
  • sinat_41610288
    zydse 2018-11-28 06:15

    a[i] - '0'与b[i] - '0'判断就没有覆盖a[i] - '0' == b[i] - '0'的情况呀,所以相同时(比如:a = "12"; b = "12")肯定没有返回值,还有上面老哥说的a.Length == 0也没有返回值。

    点赞 评论

相关推荐