Ingegneria Forum

Ingegneria Edile, Strutturale & Geotecnica => .:C#, Excel, VB e Programmazione:. => Topic started by: 82_marco on 09 June , 2012, 18:56:54 PM

Title: c# e querry linq
Post by: 82_marco on 09 June , 2012, 18:56:54 PM
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:
 


Code: [Select]
        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<int>(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<AnonymousType#1>' non contiene una definizione per 'FirstOrDefault' e l'overload migliore del metodo di estensione 'System.Linq.ParallelEnumerable.FirstOrDefault<TSo urce>(System.Linq.ParallelQuery<TSource>, System.Func<TSource,bool>)' presenta alcuni argomenti non validi

Errore 2 Argomento dell'istanza: impossibile convertire da 'System.Collections.Generic.List<AnonymousType#1>' a 'System.Linq.ParallelQuery<int>'
 
potere aiutarmi a risolvere il mio problema per favore?
 
grazie