Bindings with the let Clause
Often, you’ll find it handy to carry out intermediate computations within a query expression, binding the result to an identifier within the query expression. An example is worth a thousand words:
var res = from i in Enumerable.Range(0, 10) let square = i * i where square % 2 == 0 let cube = i * square let stars = new string('*', i) select new { Stars = stars, Cube = cube };
Starting from the source selection, we get a sequence of integral numbers 0 through 9 (the parameter 10 indicates the count) from the Range
method on Enumerable
. Now we’re asked to compute the square of the number, filter out even square values, compute the cube, and so ...
Get C# 5.0 Unleashed now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.