>Grazie, ora ho cambiato un pò la struttura per semplificarmi
>la vita. Ora ho una List di oggetti.
>
>Mi trovo a dover confrontare per l'ordinamento, una variabile
>double per ogni oggetto.
>
Io mi sono creato un oggetto che, spero, rappresenti a grandi linee il tuo:
public class MyObject
{
private double number;
public double Number
{
get { return number; }
}
private object someObject;
public object SomeObject
{
get { return someObject; }
}
public MyObject(object obj, double number)
{
this.number = number;
this.someObject = obj;
}
public override string ToString()
{
return this.number.ToString();
}
}
>
>Con IComparer potrei avere un esempio? ho letto il link ma non
>riesco a ricondurlo al mio caso
>
Mi sono creato una classe che implementa l'interfaccia IComparer
public class SortMyObject : IComparer<MyObject>
{
public int Compare(MyObject x, MyObject y)
{
return x.Number.CompareTo(y.Number);
}
}
Tengo a precisare che il metodo Compare ritorna
-1 quando X < Y
0 quando X = Y
1 quando X > Y
Qui puoi vedere un metodo che sfrutta l'oggetto SortMyObject
public void StartSort()
{
List<MyObject> myList = new List<MyObject>();
myList.Add(new MyObject(null, 5));
myList.Add(new MyObject(null, 1));
myList.Add(new MyObject(null, 69));
myList.Add(new MyObject(null, 99));
myList.Add(new MyObject(null, 46));
myList.Add(new MyObject(null, 462));
myList.Add(new MyObject(null, 867));
myList.Add(new MyObject(null, 758));
IComparer<MyObject> comp = new SortMyObject();
myList.Sort(comp);
}
Questo pezzo di codice:
"IComparer<MyObject> comp = new SortMyObject();
myList.Sort(comp);"
ti indica di crearti un oggetto SortMyObject e di passare l'istanza come parametro al metodo Sort della lista.
Spero di essere stato più chiaro ora.
Ciao,
Luigi