Utilizzo il Resharper 7 ea volte quando scrivo foreach loop suggerisce che lo converto in LINQ. Il problema è che non riesco a trovare un'impostazione in cui posso scegliere che LINQ venga creato utilizzando i metodi di estensione e non sotto forma di query LINQ.
So che questo dovrebbe essere possibile perché prima funzionava in quel modo con le mie vecchie impostazioni (dovevo ripristinarle di default perché per qualche ragione si sono rotte completamente).Resharper Converti foreach in LINQ utilizzando i metodi di estensione
Questo è il ciclo foreach:
var idList= new List<string>();
foreach (var entity in entityList)
{
if(entity.EntityPathOrNull==null)
idList.Add(entity.Identity);
}
Ecco come viene convertito:
var idList = (from entity in entityList where entity.EntityPathOrNull == null select entity.Identity).ToList();
E questo è come voglio farlo sembrare come:
var idList = entityList.Where(entity => entity.EntityPathOrNull == null).Select(entity=> entity.Identity).ToList();
domanda è, qualcuno sa dove si trova questa impostazione? Ho cercato e cercato su Google ovunque, ma non sono riuscito a trovarlo.
Non sono a conoscenza di un'impostazione per questo. AFAIK R # converte in query LINQ prima * se * è possibile. Puoi comunque premere nuovamente Alt-Invio per convertire la query in una catena di metodi LINQ. – bstenzel
Non sapevo che con il secondo alt + invio è possibile creare una catena di metodi. Questa è una buona soluzione se questa impostazione non viene trovata, ma come ho detto penso che fosse usato per la conversione alla catena dei metodi per impostazione predefinita, quindi forse è nascosto da qualche parte in qualche file di configurazione. – Renesis
È stato incluso lo spazio dei nomi System.Linq nelle istruzioni using? Dovrai includerlo per poter usare i metodi di estensione. –