gpt4 book ai didi

c# - 不是所有的代码路径都通过 C# 编译器返回值

转载 作者:行者123 更新时间:2023-11-30 13:21:21 26 4
gpt4 key购买 nike

这是一个基本的字符串反向程序,我想在其中进行某种程度的异常处理。但是在编译过程中它给了我一个错误“并非所有代码路径都返回值。我无法找出原因

 public static string Reverse(string s)
{
try
{
if (string.IsNullOrEmpty(s))
{
throw new NullReferenceException();
}

char[] c = s.ToCharArray();
int start = 0;
int end = c.Length - 1;
char temp;

while (start < end)
{
temp = c[start];
c[start] = c[end];
c[end] = temp;
start++;
end--;
}
return new string(c);
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
}
}

谢谢大家...我把代码改成了这样

 public static string Reverse(string s)
{
if (!string.IsNullOrEmpty(s))
{
char[] c = s.ToCharArray();
int start = 0;
int end = c.Length - 1;
char temp;

while (start < end)
{
temp = c[start];
c[start] = c[end];
c[end] = temp;
start++;
end--;
}
return new string(c);
}
else return s;


}

最佳答案

如果发生异常,则没有 return 语句被执行。走一遍。

最好的补救措施(我的选择)是删除整个 try/catch 。像 Reverse 这样的实用函数不应该处理(它自己的)异常。

关于c# - 不是所有的代码路径都通过 C# 编译器返回值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1148218/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com