title: MethodInvoke delegate or lambda expression
body: <p>What is the difference between the two?</p>
  
  <pre><code>Invoke((MethodInvoker) delegate {
          checkedListBox1.Items.RemoveAt(i);
          checkedListBox1.Items.Insert(i, temp + validity);
          checkedListBox1.Update();
      }
  );
  </code></pre>
  
  <p>vs</p>
  
  <pre><code>Invoke((MethodInvoker)
      (
          () =&gt; 
          {
              checkedListBox1.Items.RemoveAt(i);
              checkedListBox1.Items.Insert(i, temp + validity);
              checkedListBox1.Update();
          }
      )
  );
  </code></pre>
  
  <p>Is there any reason to use the lambda expression? And is <code>(MethodInvoker)</code> casting delegate and lambda into type MethodInvoker? What kind of expression would not require a <code>(MethodInvoker)</code> cast?</p>