giovedì 5 febbraio 2015

C# Custom Linq Ordering

Nel caso che dobbiamo ordinare in maniera personalizzata un oggetto di tipo list, il frammento di codice qui di seguito illustra tale tecnica.
Supponiamo di avere una lista di classi, di cui una proprietà ha un certo valore, se vogliamo ordinare in base a determinati valori quella proprietà, tramite il metodo orderBy dell'oggetto list possiamo passare una funzione che valorizzo l'ordinamento.

Qui di seguito un esempio di codice



MiaClasse[] ListClass = GetAllDateClass();
 var Risultato = ListClass .OrderBy(f => OrderKey(f.ProprietA)).ToList();

  public int OrderKey(string Dato)
        {
          
            int result =
               Dato== "AA" ? 1 :
               Dato== "DD" ? 2 :
               Dato== "EE" ? 3 :
                            4;
            return result;
        }

nel metodo OrderBy viene richiamato la nostra funzione denominata OrderKey nella quale viene passato il valore della proprietà dell'oggetto.

Nessun commento: