2014-05-11 2 views
0

저는 LINQ를 처음 사용합니다. ,이 시나리오에서 LINQ는 어떻게 사용합니까?

는 I는 SortedDictionary

SortedDictionary<int, int> book = new SortedDictionary<int, int>(); 

있고 한쌍

(5,10), (7,20), (8,30), (9,15), (10 아르 60)

값이 25보다 작은 가장 낮은 키를 선택할 수있는 LINQ 문이 있습니까? 이 예를 들어, 그것이 정렬 된 사전이다 (따라서 조건에 일치하는 첫 번째 키는 항상 기준과 일치하는 가장 핵심)으로 키가 8

+0

누군가이 질문에서 downvote를 설명 할 수 있습니까? 내 마지막에 괜찮아 보인다 – Dalorzo

+0

왜 downvote? 그것은 연구 노력을 보여주지 않습니다. 아무 것도 시도되지 않았습니다. 쓸데없는'new' 문을 제외하고는 코드가 없습니다. –

+0

@ 토마스 죄송합니다. 실수를 배웠습니다. – user3398315

답변

3

입니다, 당신은 할 수 있습니다 :

var result = book.First(o => o.Value > 25).Key; 
+0

덕분에 나는 그것을 upvoted – user3398315

+0

@ user3398315 만약 당신이 솔루션을 사용하여 끝나면, 또한 대답을 수락하십시오. –

+0

그런 값이 없다면'First()'는 예외를 던질 것입니다. –

1
book.Where(i => i.Item > 25).Min(i => i.Key) 
+0

'Where'와'Min'은 키가 정렬되어 전체 컬렉션을 검색한다는 사실을 이용할 수 없으므로 상당히 비효율적입니다. – Lee

관련 문제