O LINQ permite armazenar valores em variáveis, o que é util quando precisamos memorizar algum valor para cálculo ou processamento posterior. Isso é possível através do LET (muito familiar no mundo F#).

using static System.Console;
using System.Linq;
 
namespace LinqAndLet
{
    class Program
    {
        static void Main(string[] args)
        {
            var numbers = Enumerable.Range(1, 100);
 
            var result = from i in numbers
                         let x = i * 2
                         select x;
 
            result.ToList().ForEach(x => WriteLine(x.ToString()));
             
            ReadLine();
        }
    }
}

Exercícios no Github