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
İmlecinizi Visual Studio'daki
SomeEnumerableType.Where(<LambdaExpression>).Single()
örneğin içine yerleştirin.Hızlı Eylemler ve Yeniden Düzenlemeler menüsünü tetiklemek için Ctrl+ tuşuna basın.
LINQ ifadesini basitleştir'i seçin
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.