dart中的开关盒工作不正常

dart中的开关盒工作不正常,dart,flutter,dart-html,Dart,Flutter,Dart Html,我试图使用switch case,但它的行为很奇怪。对于某些输入,它起作用;对于某些输入,它不起作用。我检查了输入值,发现它们有利于满足条件。请帮忙。我对飞舞和飞镖还不熟悉 我试图用if-else-if实现这一点。即使这样对我也不起作用 List<String> lstNames = List<String>(); lstNames.addAll(["Dividends INR", "Payout Ratio % *", "Operating Cash F

我试图使用switch case,但它的行为很奇怪。对于某些输入,它起作用;对于某些输入,它不起作用。我检查了输入值,发现它们有利于满足条件。请帮忙。我对飞舞和飞镖还不熟悉

我试图用if-else-if实现这一点。即使这样对我也不起作用

    List<String> lstNames = List<String>();
    lstNames.addAll(["Dividends INR", "Payout Ratio % *", "Operating Cash Flow INR Mil", "Cap Spending INR Mil", "Free Cash Flow INR Mil"]);
    for(String ItemHeading in lstNames){

    switch (ItemHeading) {
      case '' :
        break;
      case 'Dividends INR':
        {/*Doing something.*/}
        break;
      case 'Payout Ratio % *':
        {/*Doing something.*/}
        break;
      case 'Operating Cash Flow INR Mil':
        {/*Doing something.*/}
        break;
      case 'Cap Spending INR Mil':
        {/*Doing something.*/}
        break;
      case 'Free Cash Flow INR Mil':
        {/*Doing something.*/}
        break;
      default:
        break;
    }
  }
List lstNames=List();
lstNames.addAll([“股息卢比”、“支付比率%*”、“营业现金流量卢比”、“上限支出卢比”、“自由现金流量卢比”);
for(lstNames中的字符串项标题){
开关(项目标题){
案例“”:
打破
案例“股息卢比”:
{/*正在做某事。*/}
打破
案例“支付比率%*”:
{/*正在做某事。*/}
打破
案例“营业现金流(百万卢比)”:
{/*正在做某事。*/}
打破
案例“上限支出(百万卢比)”:
{/*正在做某事。*/}
打破
案例“自由现金流(百万卢比)”:
{/*正在做某事。*/}
打破
违约:
打破
}
}
在上面的代码中,基于lstNames中的字符串,我尝试运行switch case。lstrow中元素包含的字符串值为{股息INR,支付比率%*,经营现金流INR Mil,上限支出INR Mil,自由现金流INR Mil}。“支付比率%*”的理由是有效的。对于其他情况,它只是跳过/跳转到下一个案例并退出。请帮忙。如果调试此文件还需要其他信息,请告诉我。

编辑:
addAll()
接受一个
iterable

lstNames.addAll(["Dividends INR", "Payout Ratio % *", "Operating Cash Flow INR Mil", "Cap Spending INR Mil", "Free Cash Flow INR Mil"]);
将项目放入列表中


你使用了错误的评论

/
注释整行以及结束语
}

要使用的
/**/

  case 'Dividends INR':
    {/*Doing something.*/}
    break;
  case 'Payout Ratio % *':
    {/*Doing something.*/}
    break;

此外,在
默认值
情况下,不需要
中断
。我已经做了编辑。给出这些注释只是为了替换业务逻辑。开关箱的问题仍然存在。它适用于“支付比率%*”,而不适用于其他情况。请帮助。另外,您的
营业现金流INR Mil
中似乎有一个新行,这导致了问题。嘿,对此表示抱歉。addAll()还用于隐藏业务逻辑。我已经做了编辑。名单上的名字很好。问题是,当控件进入swich case时,我可以在调试中清楚地看到ItemHeading包含的值是一个case常量值,应该满足它,并且应该执行case。它仍然在跳转这个案例并转到下一个案例。请注意,
{}
不是必需的:。