검색하려고했지만 내 답을 찾을 수없는 것 같습니다. 내 생각에 드문 질문이 아니기 때문에 대답이있을 수 있습니다. 나는 Item1에 의한 정렬을 말하려고한다. 그들은 종류의 항목 2에 의해 동일한 경우람다 표현식, 항목 1 비교, 항목 2 비교
sorted.Sort((a,b)=>(a.Item1.CompareTo(b.Item1)));
검색하려고했지만 내 답을 찾을 수없는 것 같습니다. 내 생각에 드문 질문이 아니기 때문에 대답이있을 수 있습니다. 나는 Item1에 의한 정렬을 말하려고한다. 그들은 종류의 항목 2에 의해 동일한 경우람다 표현식, 항목 1 비교, 항목 2 비교
sorted.Sort((a,b)=>(a.Item1.CompareTo(b.Item1)));
동안 수는 이런 종류의 물건에 대한 구축 LINQ 사용하는 것이 훨씬 쉽게, List<T>.Sort
이 작업을 수행 할 수있는 비교자를 구축 :
sorted = unsorted.OrderBy(x => x.Item1).ThenBy(x => x.Item2).ToList();
을
Sort를 실제로 사용하려는 경우 내 MiscUtil 프로젝트에 ProjectionEqualityComparer
을 사용할 수 있지만 LINQ 방식만큼 좋지는 않습니다.
var sorted = original.OrderBy(c => c.Item1).ThenBy(n => n.Item2).ToList()
당신이 비교 자 만들 수 있으며, LINQ 방법에 대한 대안으로이
결과를 사용하지 않으므로 유용하지 않습니다. –
이 너무 빨리 제출되었습니다. 고정 – TGH
이것은 'List
을 시도해보십시오 unsorted
가정,
class FrobComparer : IComparer<Frob>
{
public int Compare(Frob x, Frob y)
{
int item1Comparison = x.Item1.CompareTo(y.Item1);
if (item1Comparison == 0)
return x.Item2.CompareTo(y.Item2);
return item1Comparison;
}
}
을 그리고 Sort()
에 그것을 통과하는 것은 List<Frob>
입니다 :
var sorted = unsorted.Sort(new FrobComparer());
[Multiple Order By By LINQ] (http : // stac kowflow.com/questions/2318885/multiple-order-by-with-linq) – JohnLBevan