为什么在所有 for 循环都正确的情况下抛出代码路径不返回值错误?

并非所有代码路径都返回一个值,执行时会抛出错误。请帮助我们尽早解决。似乎有一些代码路径没有返回任何值。有人可以帮忙解决吗?代码中有很多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);


                    }








                }

GCT1015
浏览 64回答 2
2回答

慕森王

发现了问题。如果字符串没有字符,那么它应该返回 falseif (symbol_length == 2)&nbsp; &nbsp; {&nbsp; &nbsp; &nbsp; &nbsp; foreach (char sym in symbol)(...)//this code is irrelevant.&nbsp; &nbsp; &nbsp; &nbsp; return false; //here is the solution, if there are no characters in the string, then return false .&nbsp; &nbsp; }&nbsp; &nbsp; else&nbsp; &nbsp; {&nbsp; &nbsp; &nbsp; &nbsp; return false;&nbsp; &nbsp; }下次让你的代码更容易阅读,只显示相关部分。

qq_笑_17

首先,请在您的问题中仅发布相关且最少的代码,以便获得快速回复。对于您的查询,您需要了解您得到的编译器错误是错误 CS0161:“Solution.CheckElementSymbol(string, string)”:并非所有代码路径都返回值这个错误是因为你所有的返回语句都在 IF 或 ELSE 语句中。如果在CheckElementSymbol方法末尾添加 return 语句,错误将得到修复。return&nbsp;false;希望这可以帮助。
打开App,查看更多内容
随时随地看视频慕课网APP