私は、各グループ内に複数の画像があり、文字列基準に基づいて単一の画像を抽出する必要があるシナリオがあります。優先度条件に基づいて単一項目を取得する最も効率的な方法
以下は現在行われている方法です。しかし、わからないこれが最も効率的な方法、性能、サイズであれば、多分あまりにも賢明な練習
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、LINQの意味を説明してくださいプロバイダ? System.Linqは標準であり、しばしばMoreLinqライブラリを使用します...それは決して退屈ではありませんでした:)私は私のアプローチで決して確信していませんでした...私は他の開発者が素晴らしいと思う方法に晒されていると思います! – usefulBee