배열에서 최소 길이의 단어를 모두 얻으려면 LINQ 하위 쿼리를 사용하고 있습니다. 람다 식을 사용하여 그것을하고 싶습니다.람다 식을 사용하는 하위 쿼리
var names = new[] { "Tom", "Dick", "Harry", "Mary", "Jay" }.AsQueryable();
(
from n in names
where n.Length == names.Min (n2 => n2.Length)
select n
)
출력 : 톰, 제이
감사합니다, Prakhar
Upvoted. 'Min' 메쏘드가 매번 호출됨을 확인하는 흥미로운 링크 된 실을 보시고 여러분이 말하는 것처럼'O (n ** 2)'복잡성을 이끌어 내십시오. 이것을 다루는 또 다른 방법은'int min = int.MaxValue; var minNames = names.OrderBy (s => s.Length) .TakeWhile (s => min> = (min = s.Length))'그러나 이것은 솔루션보다 좋지 않습니다. –