对于受保护字符串函数中的每个循环

本文关键字:循环 函数 受保护 字符串 | 更新日期: 2023-09-27 18:27:56

试图在我的Protected字符串函数中为每个循环添加一个,但不断收到错误:"并非所有代码路径都返回值"。请帮忙。

protected string GetAmountStyle()
{
  {
    foreach (LFConnection ProdCurrConn in AllConn)
    {
      if (Login.Contains(ProdCurrConn.UserName) == false)
        if ((Request.Browser.Browser.Contains("IE") == true))
        {
          //th1.Attributes.Add("style", "padding-right: 5px;");
          //return "padding-right: 1px;";
          return "background-color: #FFFF66;";
        }
        else
        {
          //th1.Attributes.Add("style", "padding-right: 5px;");
          return "background-color: #FFFF66;";
        }
      else
      {
        //th1.Attributes.Add("style", "padding-right: 5px;");
        return string.Empty;
      }
    }

对于受保护字符串函数中的每个循环

问题是,如果AllConn为空,则方法永远不会返回值,因为在foreach之后没有返回值。

也就是说,您的循环现在也只检查AllConn中的第一个值,因为foreach中的每个路径都会返回一些值,所以不可能检查第二个"Conn"元素。

我怀疑你真的在追求更像的东西

protected string GetAmountStyle()
{
    if (AllConn.Any(ProdCurrConn => !Login.Contains(ProdCurrConn.UserName))
    {
        if ((Request.Browser.Browser.Contains("IE") == true))
        {
            //th1.Attributes.Add("style", "padding-right: 5px;");
            //return "padding-right: 1px;";
            return "background-color: #FFFF66;";
        }
        else
        {
            //th1.Attributes.Add("style", "padding-right: 5px;");
            return "background-color: #FFFF66;";
        }
    }
    return string.Empty;
}

如果AllConn是空集,返回路径是什么?

提示:如果AllConn为空,您的代码会返回什么?

foreach之外添加一个默认路径;任意:

return "";
return null;
throw new InvalidOperationException("AllConn cannot be empty");

(或者你想要的任何东西,真的)

注意:可能是知道AllConn从不为空,因为您知道一些规则;然而,编译器在这方面不信任您;CCD_ 8的逻辑意味着它不保证永远进入内部语句。

在我看来,"AllConn"可能是空的,因此循环中的条件永远不会执行,因此函数不会返回字符串。对于循环从不执行的情况,我会包含一个return语句。

如果您的AllConn集合中没有项目,则不会返回任何内容。试试这个:

protected string GetAmountStyle()
{
    foreach (LFConnection ProdCurrConn in AllConn)
    {
        if (Login.Contains(ProdCurrConn.UserName) == false)
        {
            if ((Request.Browser.Browser.Contains("IE") == true))
            {
                //th1.Attributes.Add("style", "padding-right: 5px;");
                //return "padding-right: 1px;";
                return "background-color: #FFFF66;";
            }
            else
            {
                //th1.Attributes.Add("style", "padding-right: 5px;");
                return "background-color: #FFFF66;";
            }
        }
        else
        {
            //th1.Attributes.Add("style", "padding-right: 5px;");
            return string.Empty;
        }
    }
    return string.Empty;
}