Bonjour à tous.
Je récupère les fichiers d'un dossier.
Malheureusement le fait qu'ils soient donnés par ordre alphabétique n'est pas garanti.
J'ai donc décidé d'utiliser un sort sur une arraylist, mais le problème c'est que pour environ 1000 lignes le Sort prend 1 minute 30 secondes.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 IComparer aComp = new FileComparer(); monArray.Sort(aComp);Il y aurait il une erreur dans mon code?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34 public class FileComparer : IComparer { public int Compare(object x, object y) { try { FileInfo aFirstFile = new FileInfo((string)x); FileInfo aSecondFile = new FileInfo((string)y); string aFirstString = aFirstFile.Name.Replace(aFirstFile.Extension, ""); string aSecondString = aSecondFile.Name.Replace(aSecondFile.Extension, ""); int aFirstInt = Convert.ToInt32(aFirstString); int aSecondInt = Convert.ToInt32(aSecondString); if (aFirstInt == aSecondInt) { return 0; } else if (aFirstInt > aSecondInt) { return 1; } else { return -1; } } catch { return 0; } } }
Merci.
Partager