static Boolean DoSomething(Developer dev) {
  if (dev.Age > 40)
    throw new ArgumentOutOfRangeException("dev");

  return (dev.Language == "C#");
}

static void Main() {
  Developer[] developers = new Developer[] {
    ...
    new Developer { Name = "Frank", Language = "VB.NET", Age = 48 },
  };

  var query =
    from d in developers
    let SomethingResult = DoSomething(d)
    select new { d.Name, SomethingResult };

  foreach (var item in query) {
    Console.WriteLine(item);
  }
}
