Linq-함수를 통해 각 항목을 실행 한 다음 함수 결과가 가장 높은 항목을 선택하는 방법

CuriousDeveloper

제가하고 싶은 것은 기본적으로

var max = things.Select(t => ExpensiveFunc(t)).Max();
var ThingWithMaxResult = things.Where(t => ExpensiveFunc(t) == max).First();

그러나 ExpensiveFunc각 요소에 대해 두 번 실행하고 싶지 않습니다 .

LINQ를 배우고 있으므로 LINQ 방식을 알고 싶습니다. 그렇지 않으면 일반적으로 사물과 결과의 배열을 만든 다음 가장 높은 결과를 가진 배열을 선택합니다.

루퍼스 L

함수 호출 (내림차순)으로 정렬하고 첫 번째를 취할 수 있습니다.

var max = things.OrderByDescending(ExpensiveFunc).First();

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

Related 관련 기사

뜨겁다태그

보관