我有一個場景,其中每個組中有多個圖像,並且需要根據字符串條件提取單個圖像。基於優先級條件獲取單個項目的最有效方法
下面是它現在完成的方式,它的工作原理;然而,不知道這是最有效的方式,性能,尺寸,也許聰明的做法太
foreach (var g in groups)
{
SomeType file = null;
if (file == null)
{
file = g.Where(i =>
i.URL.Contains("StringA")
).FirstOrDefault();
}
if (file == null)
{
file = g.Where(i =>
i.URL.Contains("StringB")
).FirstOrDefault();
}
if (file == null)
{
file = g.Where(i =>
i.URL.Contains("StringC")
).FirstOrDefault();
}
if (file == null)
{
// etc...
}
if (file == null)
{
file = g.FirstOrDefault();
}
}
過於寬泛:代碼風格偏離主題以至於無視那部分,大小 - 顯然你可以將它重構爲一個循環(所以這不太可能是你問的問題),性能問題 - 完全缺少任何數字和你正在使用的LINQ提供程序的類型... –
有更有效的方法來做到這一點,但不是在LINQ(至少我想不出一種方式) –
@AlexeiLevenkov,你能解釋一下你的意思嗎?供應商? System.Linq是常態,並且經常使用MoreLinq庫...並且它從來沒有關於無聊:)我只是從來沒有信服我的方法......我想要接觸到其他開發人員如何認爲是真棒! – usefulBee