Domanda

Sembra che ci siano due modi per costruire query - sia utilizzando espressioni di query:

IEnumerable<Customer> result =
                        from customer in customers
                        where customer.FirstName == "Donna"
                        select customer;

o utilizzando metodi di estensione:

IEnumerable<Customer> result =
           customers.Where(customer => customer.FirstName == "Donna");

Che cosa si usa e perché? Quale pensi che sarà più popolare nel lungo periodo?

È stato utile?

Soluzione

solo un numero limitato di operazioni sono disponibili nella sintassi dell'espressione, ad esempio, Take () o First () sono disponibili soltanto con metodi di estensione.

Io personalmente preferisco l'espressione, se tutte le operazioni richieste sono disponibili, se non allora cado di nuovo a metodi di estensione, come li trovo più facile da leggere rispetto lambda.

dare un'occhiata a questa risposta,

metodi LINQ Extension vs LINQ sintassi

Altri suggerimenti

Io uso la sintassi del metodo (quasi) esclusivamente, perché la sintassi di query ha più limitazioni. Per motivi di manutenibilità, trovo preferibile utilizzare la sintassi metodo subito, piuttosto che forse la conversione in un secondo momento, oppure utilizzando un mix di entrambe le sintassi.

Potrebbe essere un po 'più difficile da leggere in un primo momento, ma una volta che ci si abitua ad esso, funziona abbastanza naturale.

Io uso solo la sintassi metodo. Questo perché lo trovo molto più veloce di scrivere, e scrivo una tonnellata di LINQ. Mi piace anche perché è più terso. Se si lavora in una squadra, la sua, probabilmente meglio di arrivare ad una concensus su quale sia lo stile preferito, come la miscelazione dei due stili è difficile da leggere.

Si consiglia la sintassi di query. "In generale, si consiglia di sintassi di query perché di solito è più semplice e più leggibile". http://msdn.microsoft.com/en-us/library/bb397947. aspx

Dipende da quale voi e il vostro team di trovare più leggibile, e sceglierei questo su un caso per caso. Ci sono alcune query che leggono meglio in forma sintassi e ci sono alcuni che leggono meglio in forma di metodo. E, naturalmente, la vasta terra di mezzo dove non si può dire che in un modo o l'altro, o alcuni preferiscono in questo modo e altri in questo modo.

Tenete a mente che si può mescolare entrambe le forme insieme in cui potrebbe renderlo più leggibile.

Non vedo alcun motivo di sospettare che sia in forma dissappear in futuro.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top