并非所有代码路径都返回一个值,执行时会抛出错误。请帮助我们尽早解决。似乎有一些代码路径没有返回任何值。有人可以帮忙解决吗?代码中有很多for循环。我无法确定是哪一个导致了这个问题。使用系统;使用 System.Collections.Generic;使用 System.IO;使用 System.Linq;使用系统文本;使用 System.Threading.Tasks;//命名空间ConsoleApp7//{类解决方案{static bool CheckElementSymbol(string elementName, string symbol){ symbol = symbol.ToLower(); int symbol_length = symbol.Length; int numberofchars = 0; int firstletter = 0; bool firstcharfound = false; bool secondcharfound = false; //bool symbolfound = false; //int symbolpresent = 0; int secondcharmatch = 0; if (symbol_length == 2) { foreach (char sym in symbol) { numberofchars = numberofchars + 1; var firstcharmatch = new List<int>(); //int index = 0; int sourcelength = elementName.Length; if (numberofchars == 1) { for (int index = 0; index < sourcelength; index++) { int matchfound1stchar = elementName.IndexOf(sym, index, 1); if (matchfound1stchar != -1) { firstletter = 1; firstcharmatch.Add(matchfound1stchar + 1); } }
2 回答
慕森王
TA贡献1777条经验 获得超3个赞
发现了问题。如果字符串没有字符,那么它应该返回 false
if (symbol_length == 2)
{
foreach (char sym in symbol)(...)//this code is irrelevant.
return false; //here is the solution, if there are no characters in the string, then return false .
}
else
{
return false;
}
下次让你的代码更容易阅读,只显示相关部分。
qq_笑_17
TA贡献1818条经验 获得超7个赞
首先,请在您的问题中仅发布相关且最少的代码,以便获得快速回复。
对于您的查询,您需要了解您得到的编译器错误是
错误 CS0161:“Solution.CheckElementSymbol(string, string)”:并非所有代码路径都返回值
这个错误是因为你所有的返回语句都在 IF 或 ELSE 语句中。
如果在CheckElementSymbol
方法末尾添加 return 语句,错误将得到修复。
return false;
希望这可以帮助。
- 2 回答
- 0 关注
- 63 浏览
添加回答
举报
0/150
提交
取消