2012-09-20 6 views
0

winningCombo라는 유형의 클래스가있는 winningCombos라는 목록이 있습니다. 그래서 같이 :클래스 내에서 double로 목록 정렬

public List<winningCombo> winningCombos; 

    public class winningCombo 
    { 
     public List<spin> winningSymbols; 
     public double cumulativeValue; 
    } 


    public class spin 
    { 
     public string Name; 
     public double Value; 
    } 

각 클래스 winningCombo 내에서 이중 cumaltiveValue의 값에 의해 순서대로 목록 winningCombos를 정렬 할 수있는 효율적인 방법은 무엇입니까? 이들 중 일부는 동일한 가치를 지닙니다. 따라서 winningCombos [0]은 double cumaltiveValue 중 가장 작은 값이어야하며 그 위로 나아가 야합니다. 어떤 아이디어 주셔서 감사합니다!

+1

"효율적"이라고 생각되는 샘플 코드가 누락되었습니다. 또한 비교 자의 정규 정렬이 왜 작동하지 않는지에 대해 의견을 말하십시오. –

+0

당신은 무엇을 시도 했습니까? C#에서 컬렉션을 정렬하는 방법에 대한 연구를 해봤습니까? 정확히 모호한 주제는 아닙니다. – Servy

답변

4

이 지금처럼 List<T>.Sort를 통해 장소에 정렬 할 수 있습니다 : 당신은 또한 다시 분류 결과를 얻을 수 LINQ를 사용할 수

winningCombos.Sort((l, r) => l.cumulativeValue.CompareTo(r.cumulativeValue)); 

:

var sorted = winningCombos.OrderBy(wc => wc.cumulativeValue); 

(원본을 변경하지 않습니다 후자를 참고 컬렉션을 반환하지만 새롭게 정렬 된 IEnumerable<winningCombo>을 반환합니다.