제 동료 중 한 명은 주어진 값에 대한 목록에서 이전 값과 다음 값을 선택하는 것과 같은 것을 찾고있었습니다. 작동하는 Google의 도움으로 약간의 기능을 썼지 만 을보고 싶었습니다. 1.이 작업을 수행하는 효율적인 방법은 무엇입니까? 2. LINQ의 다른 방법으로이 작업을 수행 할 수 있습니까?LINQ를 사용하여 이전 및 다음 요소 가져 오기
private static List<double> GetHighLow(double value)
{
List<double> tenorList = new List<double> { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 15, 20, 30 };
double previous = tenorList.OrderByDescending(s => s).Where(s => s.CompareTo(value) < 0).FirstOrDefault();
double next = tenorList.OrderBy(s => s).Where(s => s.CompareTo(value) > 0).FirstOrDefault();
List<double> values = new List<double> { previous, next };
return values;
}
감사 박
은 이미 정렬 된 소스 목록입니다. – AakashM
얼마 전에이 블로그에 대한 글을 남겼습니다. http://trikks.wordpress.com/2011/12/01/getting-the-previous-and-next-record-from-list-using-linq/ –
@Trikks 예, 솔루션이 더 깨끗합니다. 공유해 주셔서 감사합니다. – Pak