如何对来自checkedlistbox C#的所有未检查项目进行循环?

E.T*_*.T. 5 c# foreach loops checkedlistbox

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

foreach ( object itemChecked in checkedListBox1.CheckedItems)
{(...)}
Run Code Online (Sandbox Code Playgroud)

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

OhB*_*ise 11

两种选择:

  1. 循环遍历所有Items并检查它们CheckedItems.
  2. 使用LINQ.

选项1

foreach (object item in checkedListBox1.Items)
{
  if (!checkedListBox1.CheckedItems.Contains(item))
  {
    // your code
  }
}
Run Code Online (Sandbox Code Playgroud)

选项2

IEnumerable<object> notChecked = (from object item in checkedListBox1.Items
                                  where !checkedListBox1.CheckedItems.Contains(item)
                                  select item);

foreach (object item in notChecked)
{
  // your code
}
Run Code Online (Sandbox Code Playgroud)