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

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

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

最佳答案

两种选择:

  • 循环遍历所有Items并对照CheckedItems检查它们。
  • 使用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
    }
    

    关于c# - 如何对选中列表框C#中的所有未选中项执行循环?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/30240481/

    10-11 01:51