In this chapter, we discussed the principles of LINQ queries and the syntax rules behind them. We covered query operators and conversion operators. We also discussed two important LINQ features, deferred query evaluation and extension methods resolution. We used LINQ to Objects as a reference implementation, but all of the concepts are also valid for other LINQ implementations that we will cover in the following chapters.