Aracılığıyla paylaş


LINQ ifadesini basitleştirme

Bu yeniden düzenleme şunlar için geçerlidir:

  • C#

Ne: için örneklerini Enumerable.Single() SomeEnumerable.Single(<LambdaExpression>) SomeEnumerableType.Where(<LambdaExpression>).Single() ve aşağıdaki Numaralandırılabilir yöntemleri yeniden düzenlemektedir: SingleOrDefault(), Last(), LastOrDefault(), Any(), Count(), , First()ve .FirstOrDefault()

Ne zaman: yönteminin , SingleOrDefault()vb. çağırdığı Single()tüm örneklerin bağımsız değişkeni yoktur ve önünde bir Where() ifade bulunur. İfadeye giriş Where() , bir ifade ağacı olarak oluşturulamaz.

Neden: Yöntem için Numaralandırılabilir'e gereksiz çağrının .Where() kaldırılması okunabilirliği artırır ve bazı durumlarda performans, bkz. açıklamalar.

Nasıl yapılır

  1. İmlecinizi Visual Studio'daki SomeEnumerableType.Where(<LambdaExpression>).Single() örneğin içine yerleştirin.

  2. Hızlı Eylemler ve Yeniden Düzenlemeler menüsünü tetiklemek için Ctrl+ tuşuna basın.

  3. LINQ ifadesini basitleştir'i seçin

    Convert typeof to nameof

Açıklamalar

Bazı durumlarda bu yeniden düzenleme performansı düşürebilir. ve üzerindeki List<T> T[] LINQ işlemleri bu durumda iyileştirilmemiş ve daha kötü performansa neden olur.

Ayrıca bkz.