나는 QuickSort와 LINQ를 가지고 놀고 있는데, 그 순서를 피벗 전, 동등 및 후에 항목으로 분리하려고합니다.피벗 주위의 시퀀스를 필터링하는 가장 좋은 LINQ 방법은 무엇입니까?
public static Tuple<IEnumerable<T>, IEnumerable<T>, IEnumerable<T>> ComparativeWhere<T>(this IEnumerable<T> source, T t)
where T : IComparable<T>
{
return new Tuple<IEnumerable<T>, IEnumerable<T>, IEnumerable<T>>(
source.Where(x => x.CompareTo(t) < 0),
source.Where(x => x.CompareTo(t) == 0),
source.Where(x => x.CompareTo(t) > 0)
);
}
이 작업을 수행하는 가장 좋은 방법은 무엇입니까 : 여기
는 지금까지이 무엇입니까? 이것이 최고의 구현인가, 아니면 더 좋은 구현인가? 아니면 내가 모르는 라이브러리 함수를 사용해야합니까?
'OrderBy'를 사용해야합니다. – SLaks
예, 나는 'OrderBy'가 가장 좋은 방법이라고 생각합니다. 실제로'QuickSort'를 재미있게 구현하려고합니다. –
나는 그렇게 생각했다 ... – SLaks