Home Forum PROGRAMMAZIONE EMBEDDED linq su c#

Questo argomento contiene 0 risposte, ha 1 partecipante, ed è stato aggiornato da  82_marco 2 anni, 5 mesi fa.

Stai vedendo rticolo (di 1 totali)
  • Autore
    Articoli
  • #58909

    82_marco
    Partecipante

    Ciao a tutti,
    Sono nuovo del forum, sto facendo il mio primo programma che utilizza il LINQ, il mio problema e’ questo: devo ricavare il primo valore minore a quello di riferimento tra quelli contenuti in una lista.
    Ho cominciato a scriver il codice, ma m sono bloccato a causa di 2 errori che non riesco a risolvere.

    il mio codice e’ questo:

    codice:
    private void button1_Click(object sender, EventArgs e)
    {
    XDocument xmlDoc = XDocument.Load(@”c:\a\casse.xml”);

    var casse = (from serbatoio in xmlDoc.Descendants(“serbatoio”)
    where serbatoio.Attribute(“id”).Value == (“serbatoio” + NumSerbatoio.Text)
    select serbatoio).FirstOrDefault().Descendants(“valore”)
    .Select(v => new { Altezza = int.Parse(v.Attribute(“Altezza”).Value), Litri = int.Parse(v.Attribute(“litri”).Value) }).ToList();

    var prova = (from altezze in casse
    orderby altezze.Altezza descending
    select altezze).ToList();

    int altezza1 = prova.FirstOrDefault(x => x > int.Parse(Altezza.Text));

    // textBox1.Text = casse.ToString();
    }

    visual studio mi restituisce questi errori nell ultima riga:

    Errore 1 ‘System.Collections.Generic.List‘ non contiene una definizione per ‘FirstOrDefault’ e l’overload migliore del metodo di estensione ‘System.Linq.ParallelEnumerable.FirstOrDefault(System.Linq.ParallelQuery, System.Func)’ presenta alcuni argomenti non validi

    Errore 2 Argomento dell’istanza: impossibile convertire da ‘System.Collections.Generic.List‘ a ‘System.Linq.ParallelQuery

    so che la variabile prova e’ generica e sull ultima riga in vece la tratto come int, ma non riesco a capire come adattare la riga alla mia esigenza

    potere aiutarmi a risolvere il mio problema per favore?

    grazie

Stai vedendo rticolo (di 1 totali)

Devi aver eseguito l’accesso per poter rispondere a questa discussione.