각 그룹 내에 여러 개의 이미지가 있고 하나의 이미지를 문자열 기준에 따라 추출해야하는 시나리오가 있습니다.우선 순위 조건에 따라 단일 항목을 얻는 가장 효율적인 방법
아래는 지금 수행되는 방식이며 작동합니다. 그러나, 확실하지 않은이 가장 효율적인 방법, 성능, 크기 인 경우, 어쩌면 너무 현명 연습
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