Q:

¿Como actualizar las propiedades de los elementos de una lista usando Linq?

Buen día comunidad, hay un escenario común y no he visto alguna pregunta similar, por lo que compartiré la solución enseguida.
Básicamente, tenemos una lista de elementos y queremos realizar la actualización de una propiedad en particular haciendo uso de Linq. 
using System;
using System.Linq;
using System.Collections.Generic;                   
public class Program
{
    public static void Main()
    {
        Console.WriteLine("¡Saludos Hermandad de SOes!");

        List<Movil> lista = new List<Movil>(){
        new Movil(){
            Id = 1, Marca = "iPhone", Conexion = "LTE"},
        new Movil(){
            Id = 2, Marca = "Samsung", Conexion = "4G"},
            new Movil(){
            Id = 3, Marca = "Xiaomi", Conexion = "4G"}
        };

        Console.WriteLine("Seleccionar todos los 4G");

        var listaFiltrada = lista.Where(elemento=>elemento.Conexion.Equals("4G", StringComparison.InvariantCultureIgnoreCase));
        foreach(var item in listaFiltrada){
            Console.WriteLine("{0} - {1} - {2}", item.Id, item.Marca, item.Conexion);
        }

        Console.WriteLine("Actualizando de 4G a LTE");
        //Aqui quiero hacer uso de Linq en vez de usar un bucle for, foreach
    }

    public class Movil{
        public int Id {get;set;}
        public string Marca {get;set;}
        public string Conexion {get;set;}
    }
}

A:

En algunos casos puede ser necesario utilizar un .ToList() luego de usar .Select(), esto permite que el .Select() sea evaluado y se aplique la actualización. 
Si estás usando una lista como en el presente ejemplo, todo pinta fresh.
using System;
using System.Linq;
using System.Collections.Generic;                   
public class Program
{
    public static void Main()
    {
        Console.WriteLine("¡Saludos Hermandad de SOes!");

        List<Movil> lista = new List<Movil>(){
        new Movil(){
            Id = 1, Marca = "iPhone", Conexion = "LTE"},
        new Movil(){
            Id = 2, Marca = "Samsung", Conexion = "4G"},
            new Movil(){
            Id = 3, Marca = "Xiaomi", Conexion = "4G"}
        };

        Console.WriteLine("Seleccionar todos los 4G");

        var listaFiltrada = lista.Where(elemento=>elemento.Conexion.Equals("4G", StringComparison.InvariantCultureIgnoreCase));
        foreach(var item in listaFiltrada){
            Console.WriteLine("{0} - {1} - {2}", item.Id, item.Marca, item.Conexion);
        }

        Console.WriteLine("Actualizando de 4G a LTE");
        listaFiltrada = listaFiltrada.Select(x => { x.Conexion = "LTE"; return x; }).ToList();
        foreach(var item in listaFiltrada){
            Console.WriteLine("{0} - {1} - {2}", item.Id, item.Marca, item.Conexion);
        }
    }

    public class Movil{
        public int Id {get;set;}
        public string Marca {get;set;}
        public string Conexion {get;set;}
    }
}

En caso desees actualizar varias propiedades:
listaFiltrada = listaFiltrada
                .Select(x => {
                        x.Conexion = "LTE";
                        x.Marca="WASD"; 
                        return x; 
                 });

