Può LINQ ForEach se la dichiarazione?

È possibile aggiungere if-istruzione all’interno di LINQ ForEach chiamata?

sequence.Where(x => x.Name.ToString().Equals("Apple"))
        .ToList()
        .ForEach( /* If statement here */ );
  • La domanda non è chiara
  • Non c’è LINQ ForEach metodo. Che è un metodo di List.
  • Cosa vuoi mettere in if che non può essere usato come predicato nella Where?
InformationsquelleAutor abc cba | 2013-07-04

 

4 Replies
  1. 44

    si possono fare le seguenti…

    List.Where(x => x.Name.ToString().Equals("Apple").ToList()
        .ForEach( x => { if(x.Name == ""){}} );
  2. 32

    Sì, se l’affermazione è comunemente utilizzato all’interno del ForEach come di seguito:

    sequence.Where(x => x.Name.ToString().Equals("Apple"))
        .ToList()
        .ForEach( x =>
         {
           if(someCondition)
           {
             //Do some stuff here.
           }  
         });
  3. 3

    Sì, prende le espressioni lambda, così si può mettere qualsiasi valido c# espressione nei

    • Non vorrei dire qualsiasi… Ci sono alcuni costrutti che l’espressione API non può rappresentare.
    • Ah, no scusa, il mio commento non si applica qui. Stiamo creando un delegato, non di un’espressione. IIRC, le stesse restrizioni non influisce delegati, qualsiasi costrutto può essere utilizzato.
  4. -1

    Vecchio thread, ma gettando un mio parere cleaner sintassi

    foreach(var item in sequence.Where(s => s.Name.ToString() == "Apple"))
    {
     //do whatever
    }

Lascia un commento