|
|||||||
|
|
|
![]() |
|
|
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 17: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: 22:58.




















