Desidero implementare una stringa personalizzata IComparer
in C# e applicarla a un ComboBox.Confronto stringa personalizzata in C#
risultati effettivi
Se ho impostato Sorted
proprietà s' il ComboBox
al true
, l'uscita è:
A
AA
AAA
B
BB
BBB
Cercasi Risultati
Il comportamento desiderato del algoritmo di ordinamento è il seguente (gli sviluppatori finanziari capiranno perché :)):
AAA
AA
A
BBB
BB
B
Domanda
E 'possibile farlo? Gli algoritmi di ordinamento sono necessari qui?
PS: Non ho bisogno di una risposta completa con il codice, ho solo bisogno di un'idea di come potrebbe essere fatto ..
EDIT
Si tratta di rating. Ho omesso qualcosa nella mia domanda. I rating devono essere ordinati in questo ordine:
XXX
XX+
XX
XX-
X+
X
X-
con X in ('A','B','C')
e 'A' > 'B' > 'C'
La documentazione di ComboBox su stati msdn - "L'ordinamento è senza distinzione tra maiuscole e minuscole e in ordine alfabetico crescente". . Penso che la cosa migliore da fare sia _inserire_ gli elementi nell'ordine corretto. (Che, puoi fare chiamando OrderBy per esempio sulla collezione di elementi se è enumerabile). –
È possibile dividere l'elenco in sottoliste e ordinare le sottoliste per lunghezza. – jAC
È necessario eseguire qualsiasi ordine personalizzato sul livello aziendale o sul livello presentazione, a seconda delle situazioni. –