首页 > 解决方案 > 闯入foreach后如何退出try块

问题描述

如果我在其中一个 foreach 中遇到中断,如何退出 Try 块并返回。我能够让中断正常工作,但它随后进入下一个 foreach :D 哈哈 :) 很有趣 :p 我应该尝试在 try 块内返回吗?请帮助更正我的代码。

public void function()
{
  Response() response= new Response();
  try
   {
     1st Foreach ( if condition met, break; )
     2nd Foreach ( if condition met, break; )
     3rd Foreach ( if condition met, break; )
   }
catch( Exception e)
{
}
 return response;
}

标签: c#.netc#-4.0foreachtry-catch

解决方案


您必须将您的返回类型修复Function为 return Response。是的,response直接返回。

    public Response Function()
    {
        var response = new Response();
        try
        {
            foreach (...)
            {
                if (... /* condition met */)
                    return response;
            }
            foreach (...)
            {
                if (... /* condition met */)
                    return response;
            }
            foreach (...)
            {
                if (... /* condition met */)
                    return response;
            }
        }
        catch (Exception ex)
        {
        }
        return response;
    }

推荐阅读