사용자가 IANA - Protocol Registry에서 프로토콜을 쉽게 선택할 수 있도록 서비스를 만드는 중입니다.효율적으로 제한하고 linq/lambda 식으로 결과를 연결하는 방법?
레지스트리에서 http
이라는 단어를 검색하면 많은 조회수가 발생한다고 생각할 수 있습니다. amt-soap-http
은 곧바로 http
보다 사용자가 자주 선택하기 때문에 http
으로 시작하는 모든 것을 꺼내어 나머지 결과와 연결하는 것이 좋습니다. 내가 필요한 것보다 내 결과를 통해 번 이상 반복하고 같은
var records = this._ianaRegistryService.GetAllLike(term).ToList();
var results = records.Where(r => r.Name.StartsWith(term))
.OrderBy(r => r.Name)
.Concat(records.Where(r => !r.Name.StartsWith(term))
.OrderBy(r => r.Name))
.Take(MaxResultSize);
불행하게도, 내가 느끼는 :
아래 람다 식는 사고 과정의 결과이다. 조기 최적화 고려 사항을 제외하고는 위의 것보다 더 효율적인 λ 식 조합이 있습니까?
'GROUPBY + SelectMany' : 하나는'n 개의 * 로그 (N) '운영과 다른'n은 ' – I4V
@ I4V 그 지식을 사용하면 [대답 D 스탠리 제공] (http://stackoverflow.com/a/14884435/61654)보다 더 효율적인 대답이 나옵니까? – ahsteele
ahsteele, 나는 1 개를주었습니다.하지만 3 개의 downvotes 이후에 제거했습니다. (아직 * 테스트하지 않았기 때문에 *) – I4V