【问题标题】:How to do a loop on all unchecked items from checkedlistbox C#?如何对checkedlistbox C#中的所有未选中项目进行循环?
【发布时间】:2015-07-26 06:07:41
【问题描述】:

我正在研究一种方法,然后我意识到我有一个遍历所有已检查项的 foreach 循环,而不是遍历所有未检查项。

foreach ( object itemChecked in checkedListBox1.CheckedItems)
{(...)}

我想知道是否有办法在不过多更改代码的情况下做到这一点。 问候

【问题讨论】:

    标签: c# loops foreach checkedlistbox


    【解决方案1】:

    两种选择:

    1. 遍历所有Items 并对照CheckedItems 检查它们。
    2. 使用 LINQ。

    选项 1

    foreach (object item in checkedListBox1.Items)
    {
      if (!checkedListBox1.CheckedItems.Contains(item))
      {
        // your code
      }
    }
    

    选项 2

    IEnumerable<object> notChecked = (from object item in checkedListBox1.Items
                                      where !checkedListBox1.CheckedItems.Contains(item)
                                      select item);
    
    foreach (object item in notChecked)
    {
      // your code
    }
    

    【讨论】:

      【解决方案2】:

      将项目转换为 CheckBox 可枚举然后你可以循环:

      foreach (CheckBox cb in checkedListBox1.Items.Cast<CheckBox>())
      {
          if (!cb.Checked)
          {
              // your logic
          }
      }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2016-11-06
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-09-12
        • 1970-01-01
        相关资源
        最近更新 更多