我正在尝试对LINQ语句进行逆向工程,我们将不胜感激。

bool isAllUnchecked = !lvTech.Items.Cast<ListViewItem>().Any(lvItem => lvItem.Checked);


到目前为止我的进步;

bool isAllUnchecked = true;
foreach(ListviewItem item in lvTech.Items)
{
    if(item.checked)
    {
      isAllUnchecked = false;
    }
}


我正在使用Resharper,到目前为止,它没有转换为LINQ。我想念什么?

最佳答案

我认为应该是:

bool isAllUnchecked = false; // Variable name doesn't fit what you're doing
                             // Don't forget to change.
foreach(ListViewItem item in lvTech.Items)
{
    if(item.checked)
    {
      isAllUnchecked = true;
      break;
    }
}


Any()检查是否存在满足条件的项目,如果满足,则返回true

并且您应该重命名变量isAnyChecked或对查询结果求反。

10-04 16:37