Hey,
ik heb een Arraylist met een aantal objecten. Deze objecten wil ik sorteren op 2 verschillende values, zoals je in SQL bijvoorbeeld zou doen met een ORDER BY value1, value2.
Dus eerst sorteren op value1, en daarna op value2.
Met de IComparer interface kun je een sorteer methode schrijven voor de Arraylist.Sort() methode.
Op dit moment sorteer ik op 1 value als volgt:
Deze comparer werkt goed, maar zoals je ziet sorteert hij slechts op 1 property.
Ik heb erg veel zitten zoeken op Google, maar ik kom geen uitleg tegen die voor mij duidelijk genoeg is om hem om te bouwen naar een comparer die eerst op 1 value sorteert en daarbinnen op een andere value.
Heeft iemand enig idee hoe ik dit moet doen? Ben redelijk radeloos op dit moment
ik heb een Arraylist met een aantal objecten. Deze objecten wil ik sorteren op 2 verschillende values, zoals je in SQL bijvoorbeeld zou doen met een ORDER BY value1, value2.
Dus eerst sorteren op value1, en daarna op value2.
Met de IComparer interface kun je een sorteer methode schrijven voor de Arraylist.Sort() methode.
Op dit moment sorteer ik op 1 value als volgt:
code:
1
2
3
4
5
6
7
8
9
10
11
12
| public class CompareMyObjects : IComparer
{
int IComparer.Compare(Object x, Object y)
{
return ((new CaseInsensitiveComparer()).Compare((y).value1, (x).value1));
}
}
---------------------
IComparer mijnComparer = new CompareMyObjects();
objectArrList.Sort(mijnComparer); |
Deze comparer werkt goed, maar zoals je ziet sorteert hij slechts op 1 property.
Ik heb erg veel zitten zoeken op Google, maar ik kom geen uitleg tegen die voor mij duidelijk genoeg is om hem om te bouwen naar een comparer die eerst op 1 value sorteert en daarbinnen op een andere value.
Heeft iemand enig idee hoe ik dit moet doen? Ben redelijk radeloos op dit moment