title: IEnumerable<T> VS IList<T> VS IQueryable<T>
body: <p>New to the MVC.net scene (and .net for that matter), but seems I find a wide array of options when wanting to populate a "list" with data.   In my case at the moment, I'd like to populate a list from a select query of items and render the results in JSON for output, so bear with me....</p>
  
  <p>So, my viewmodel class is something like : </p>
  
  <pre><code>[Serializable()]
  public class TFSquery 
  {
      public int MsgUid { get; set; }
      public DateTime CreateStamp { get; set; }    
  }
  </code></pre>
  
  <p>And then I'd like to populate it with my query output:</p>
  
  <pre><code>List&lt;TFSquery&gt; z = (from msg in _DB.Msg 
                      select new { msg.MsgUID, msg.CreateStamp }).ToList();
  </code></pre>
  
  <p>Then would I loop the output into my List so that I can then output in my Json return string?  And when I use a <strong>LIST</strong> VS <strong>IENUMERABLE</strong> VS <strong>IQUERYABLE</strong>??</p>
  
  <pre><code>return Json(new { Result = z }, JsonRequestBehavior.AllowGet);     
  </code></pre>