LINQ is a language-integrated query where the lamda expression is similar to the Annonymous method for .Net 2.0.
You cannot compare them, maybe you are confused because LINQ is most often associated with the expression lamda.
You need to see this article: LINQ and Lamda Expression Basics
EDIT: (I'm not sure, but maybe you are looking for the difference between the query syntax and the Sytnax method )
int[] numbers = { 5, 10, 8, 3, 6, 12}; //Query syntax: IEnumerable<int> numQuery1 = from num in numbers where num % 2 == 0 orderby num select num; //Method syntax: IEnumerable<int> numQuery2 = numbers.Where(num => num % 2 == 0).OrderBy(n => n);
In the above example, taken from MSDN , the Sytnax method contains the expression lamda (num => num % 2 == 0) , which works as a method, takes a number as input, and returns true if they are even.
They are both similar, and according to Jon Skeet, they will both compile with similar code .
Habib source share