簡體   English   中英

.First([有條件])的ReSharper搜索模式,忽略.First()

[英]ReSharper Search pattern for .First([With condition]) ignoring .First()

如標題所示,是否有一種方法可以使用ReSharper搜索模式查找包含條件的.First()的所有實例,而忽略.First()?

搜索的動機是對問題的回應
為什么LINQ .Where(predicate).First()比.First(predicate)快?

我們想看看我們使用帶條件的First()的次數。 搜索將擴展為尋找.FirstOrDefault()。

您為此創建了一個關於期望方式的模式。 轉到ReSharper>查找>使用模式搜索,然后輸入以下模式:

$enumerable$.First($args$)

然后在右側的占位符列表中,創建兩個占位符:

  • 添加占位符>表達式,並將其命名為enumerable 不要指定類型(我嘗試將類型指定為IEnumerable<out T>和后代,但由於某種原因未能找到任何用法;但是,如果未指定類型,則可以使用)。
  • 添加占位符>參數,將其命名為args ,選中“限制參數的最小數量”框,然后將數字設置為1。

我對此進行了測試,它找到了list.First(i => i%2 == 0)但沒有list.First() ,因此看起來list.First()正是您要的東西。

您可以只使用VisualStudio查找並使用RegEx選項

像這樣的東西: .First(\\({.+}\\));

在此處輸入圖片說明

而且,您還可以使用“查找和替換”將所有謂詞更改為Where + First`。

在此處輸入圖片說明

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM