Linq in C#

di
Anonimizzato10204
il
18 risposte

18 Risposte - Pagina 2

  • Re: Linq in C#

    Ho trovato questo esempio
    var v= words.Select(w=> new{w.Text}): 
    Ho capito che seleziona tutti i campi Text, ma la new a cosa serve?
  • Re: Linq in C#

    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.
  • Re: Linq in C#

    Per il new é chiaro, però in rete ho visto anche questo esempio
    var v= numbers.Select(n=> n+1)
    questo cosa sarebbe?
  • Re: Linq in C#

    È sempre la stessa cosa, crea una nuova lista a partire dai dati contenuti nella prima. Ricorda che le varie istruzioni di LINQ sono basate sui Generics per cui la Select può operare sugli oggetti (nel qual caso fà una new) oppure sui tipi base (nel tuo esempio un int) dove la new non serve.
    var v = numbers.Select(n => n+1)
    In pratica in questo esempio hai un array di int e per ogni elemento scrivi nella lista di output il suo valore piu uno.
Devi accedere o registrarti per scrivere nel forum
18 risposte