title: What is the Efficiency and Performance of LINQ and Lambda Expression in .Net?
body: <p>I have used .Net 3.5 and VS 2008 for more than a month. Like most .Net developers, I have evolved from years experience in .Net 1.0 &amp; 2.0 and VS 2005. Just recently, I discovered the simplicity and power of LINQ and Lambda Expressions, as in my recent questions such as <a href="https://stackoverflow.com/questions/1175645/find-an-item-in-list-by-linq">Find an item in list by LINQ</a>, <a href="https://stackoverflow.com/questions/1176038/convert-or-map-a-class-instance-to-a-list-of-another-one-by-using-lambda-or-linq">Convert or map a class instance to a list of another one by using Lambda or LINQ</a>, and <a href="https://stackoverflow.com/questions/1178891/convert-or-map-a-list-of-class-to-another-list-of-class-by-using-lambda-or-linq">Convert or map a list of class to another list of class by using Lambda or LINQ</a>.</p>
  
  <p>I admit that Lambda and LINQ are much simpler and easy to read and they seem very powerful. Behind the scenes, the .Net compiler must generate lots of code to achieve those functions.  Therefore I am little bit hesitant to switch to the new syntax since I already know the "old" way to achieve the same results.</p>
  
  <p>My question is the about the efficiency and performance of Lambda and LINQ. Maybe Lambda expressions are mostly in-line functions, in that case I guess Lambda should be okay. How about LINQ? </p>
  
  <p>Let's limit the discussion to LINQ-to-Objects LINQ-to-SQL (LINQ-to-SQL). Any comments, comparison and experiences?</p>