2010-09-21 8 views
13

La queryEsiste una sintassi LINQ per i sovraccarichi (T, int) di Dove e Seleziona?

var q = from elem in collection 
     where someCondition(elem) 
     select elem; 

traduce

var q = collection.Where(elem => someCondition(elem)); 

C'è una sintassi LINQ che si tradurrebbe al seguente?

var q = collection.Where((elem, index) => someCondition(elem, index)); 
+0

è l'indice un membro della classe 'elem' o un intero? –

+0

@vc 74: diversi modi per rispondere alla domanda ... ① Spostare il cursore sopra la parola "Dove" e premere F12. ② Guarda il titolo di questa domanda. – Timwi

+2

@Timwi, ciò che chiami "sintassi LINQ" è in realtà chiamato "sintassi di comprensione delle query" –

risposta

13

No, non esiste una sintassi LINQ per questo.

Un semplice work-around potrebbe essere:

var q = from elem in collection.Select((x,i) => new {x,i}) 
     where someCondition(elem.x,elem.i) 
     select elem.x; 
+0

[Grazie!] (Http://meta.stackexchange.com/questions/700/) – Timwi

Problemi correlati