Sto cercando un algoritmo che ordina le stringhe in modo simile al modo in cui i file (e le cartelle) sono ordinati in Esplora risorse. Sembra che i valori numerici in stringhe vengono presi in considerazione quando ordinato che si traduce in qualcosa di similemetodo di ordinamento di Windows Explorer
name 1, name 2, name 10
invece di
name 1, name 10, name 2
che si ottiene con un regolare confronto tra stringhe.
Stavo per iniziare a scriverlo da solo, ma volevo verificare se qualcuno lo avesse già fatto ed ero disposto a condividere codice o approfondimenti. Il modo in cui mi avvicinerei a questo sarebbe aggiungere gli zero iniziali ai valori numerici nel nome prima di confrontarli. Ciò si tradurrebbe in qualcosa di simile
name 00001, name 00010, name 00002
che in caso di ordinamento con un ordinamento di stringa normale mi avrebbe dato il risultato corretto.
Qualche idea?
http://stackoverflow.com/questions/248603/natural-sort-order-in-c-sharp –