title: Why doesn't the Controls collection provide all of the IEnumerable methods?
body: <p>I'm not for sure how the ControlCollection of ASP.Net works, so maybe someone can shed some light on this for me. </p>
  
  <p>I recently discovered the magic that is extension methods and Linq. Well, I was very sad to find that this isn't valid syntax</p>
  
  <pre><code>var c=Controls.Where(x =&gt; x.ID=="Some ID").SingleOrDefault();
  </code></pre>
  
  <p>However from what I can tell, <code>Controls</code> does implement the <code>IEnumerable</code> interface which provides such methods, so what gives? Why doesn't that just work? I have found a decent work around for this issue at least:</p>
  
  <pre><code>var list = (IEnumerable&lt;Control&gt;)Controls;
  var this_item = list.Where(x =&gt; x.ID == "Some ID").SingleOrDefault();
  </code></pre>