[ ghost2k3 @ 14.04.2009. 15:32 ] @
Znaci uzmem listu fajlova iz nekog foldera i treba da je sortiram kao sto ih sortira windows explorer.
Nasao sam NumericSort, ali problem je sto stavlja brojeve pre fajlova koji pocinju sa _.

Znaci u windows exploreru imam situaciju:
_file1.txt
1file2.txt
file3.txt

a u mom sortu:

1file2.txt
_file1.txt
file3.txt

Znaci problem je sto ne ubaci taj specijalni znak "_", da tako kazem ispred brojeva. E sad da je samo "_" ne bi bio problem, nego tu mora da se vodi racuna i o @, ., = i svim ostalim znakovima koji nisu slovo ili broj. Jel zna neko da li postoji neko jednostavno resenje za ovo? Kako da "potisnem" brojeve iza specijalnih znakova, a ispred slova?
[ deerbeer @ 14.04.2009. 16:31 ] @
Koristi templejt listu :

Code:

 List<string> sortLista = new List<string>();
 sortLista.Add("1file2.txt");
 sortLista.Add("file3.txt");
 sortLista.Add("_file1.txt");
 sortLista.Sort();
[ ghost2k3 @ 14.04.2009. 21:39 ] @
Nisam bas siguran da sam te razumeo. Ta lista ce da sortira fajlove ovako:

_imefajla.ext
10imefajla.ext
1ime.ext
adad.ext

a windows explorer:

_imefajla.ext
1ime.ext
10imefajla.ext
adad.ext

Sad ja imam resen taj problem za brojeve da ih lepo poredja, ali problem nastaje kada ulete znakovi u ime fajla (#, ., =, @, !, %, ...). Njih prepoznaje kao slova i stavlja ih iza brojeva.
[ ghost2k3 @ 15.04.2009. 14:43 ] @
To sam teplejt listama ne radi u <.net3.5, zar ne?

Jel zna neko na koji nacin windows sortira fajlove, odnosno imena fajlova?

Npr. on sortira na sledeci nacin:

_02sdfsd
______ewrfsdf
___fsdfsdfsd
1 dfsdf
3fasd fsd
10 sdfsd f
dfsfsd
sdf sd


Zanima me po kom principu je stavio _02sdfsd na prvo mesto, a ne na trece?
[ Igor Gajic @ 15.04.2009. 17:04 ] @
To sam teplejt listama ne radi u <.net3.5, zar ne?

u pitanju je Generics, i uveden je u .NET 2.0...

[ ghost2k3 @ 15.04.2009. 18:22 ] @
Resio sam problem tako sto sam u Comparer-u napravio da odstrani ekstenzije sa imena fajlova i da onda sortira (i ovo je pravilo problem), dodao sam prioritet imaju nule, spec. znaci (. # _ ...), brojevi, pa slova.
Naizgled radi kao windows sortiranje fajlova. Videcemo.

[Ovu poruku je menjao ghost2k3 dana 15.04.2009. u 20:55 GMT+1]