La Select delle query LINQ non è la stessa cosa della Select SQL, in SQL specifichi i campi da selezionare ad esempio SELECT Name, Age FROM ... in LINQ è diverso.
La Select del Linq applicata ad un elenco serve per creare 'un altro elenco', è per questo che vedi la new. Ad esempio:
var v = ordini.Select(ordine => new Articolo(ordine.Prezzo, Ordine.Peso);
In questo esempio partendo da una lista di Ordini restituisci una lista di Articoli, creando un oggetto Articolo per ogni Ordine nella lista.
Oppure, usando i tipi anonimi (come nel tuo esempio):
var v = ordini.Select(o => new {o.A, o.B} );
viene creato un tipo anomino con i campi A e B. Se vuoi puoi anche indicare i nomi esplicitamente:
var v = ordini.Select(o => new {A = o.A, Costo = o.Prezzo * o.Peso} );
In ogni caso stai creando una lista di altri oggetti, partendo da una lista di ordini.