|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Senior Member
Iscritto dal: Aug 2000
Messaggi: 1209
|
[C#] Ordinare una ArrayList....
Salve,
in una ArrayList ho insrtito delle Istanze di una mia Classe, vorrei potere ordinale l'ArrayList per l'item id (int) che risiede nella mia Istanza.... Codice:
class Row { private int m_id; private string m_label; public Row(int id, string label) { m_id = id; m_label = label; } public int id() { return m_id; } public string label() { return m_label; } } ArrayList aRowsExcel = new ArrayList(); for (int i=0; i<=10; i++) { aRowsExcel.Add(new Row(i, "bla-bla"); } aRowsExcel.sort();//non mi controlla il campo che volgio ordinare |
![]() |
![]() |
![]() |
#2 |
Registered User
Iscritto dal: Feb 2008
Messaggi: 77
|
Se usi il FW 2.0 o superiore puoi usare la List<Row> che ha un metodo Sort al quale puoi passare una callback in cui fai i dovuti confronti.
Oppure implementi IComparable: Codice:
class Row:IComparable { public int CompareTo(object obj) { if(obj is Row) return this.m_id.CompareTo((obj as Row).m_id); else return -1; } } ![]() |
![]() |
![]() |
![]() |
#3 |
Senior Member
Iscritto dal: Apr 2005
Città: Resana - TV
Messaggi: 960
|
scritto su due piedi:
Codice:
ArrayList<Row> excelRows = new ArrayList<Row>(); for (int i=0; i<=10; i++) { excelRows.Add(new Row(i, "bla-bla"); } ArrayList<Row> orderedLinkedList = (from excelRow in excelRows orderby excelRow.id select excelRow).ToList(); ![]() |
![]() |
![]() |
![]() |
#4 |
Senior Member
Iscritto dal: Aug 2000
Messaggi: 1209
|
Funziona, fantastico, grazie mille kernel:
![]() A presto, ciao! Ultima modifica di race2 : 04-04-2008 alle 16:22. |
![]() |
![]() |
![]() |
#5 | |
Senior Member
Iscritto dal: Aug 2000
Messaggi: 1209
|
Quote:
non importa, ho la 3.5 quindi non ci sono problemi, perfetto, grazie mille !!!! |
|
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 19:00.