2010-09-05 7 views
0

Je veux faire une liste des fichiers dans le dossier, mais cela ne fonctionne pas. Quel est le problème avec ce code?fichiers dans le dossier dans listview

DialogResult wczytywanie_z_folderu = new DialogResult(); 
wczytywanie_z_folderu = folderBrowserDialog1.ShowDialog(); 
string[] pliki_w_folderze = Directory.GetFiles(folderBrowserDialog1.SelectedPath); 
if (wczytywanie_z_folderu == DialogResult.OK) 
{ 
    List<string> lista = new List<string>(); 
    lista = pliki_w_folderze.ToList(); 

    int dl_listy = lista.Count; 
    int dlugosc = pliki_w_folderze.Length; 

    for (int i = 0; i == dlugosc; i = i + 1) 
    { 
     string alfabet = "abcdefghijklmnopqrstuwvxyz"; 
     char[] litery = alfabet.ToCharArray(); 
     Random r = new Random(); 
     string temp = ""; 
     for (int j = 0; j < 1; j++) 
     { 
      int random_letter = r.Next(litery.Length); 
      temp += litery[random_letter].ToString(); 

      ListViewItem str = new ListViewItem(temp); 

      str.Text = lista[i]; 
      listView1.Items.Add(str); 
     } 
} 
+0

Rien à voir avec votre question: La première ligne ('DialogResult wczytywanie_z_folderu = new DialogResult();') est redondant. Retirez-le et écrivez juste 'DialogResult wczytywanie_z_folderu = folderBrowserDialog1.ShowDialog();'. La même chose s'applique à la nouvelle liste , elle est également redondante. – Timwi

Répondre

3

Votre for devrait être:

for (int i = 0; i < dlugosc; i = i + 1) 

Mieux encore, utilisez foreach! Il n'est pas clair pourquoi vous parcourez tous les nombres aléatoires pour obtenir un caractère alphabétique, mais simplement pour écraser la propriété Text avec le nom du fichier. Essayez ceci à la place, pour vous rendre la vie plus facile.

if (wczytywanie_z_folderu == DialogResult.OK) 
{ 
    listview1.Items.AddRange(pliki_w_folderze 
            .Select(f => new ListViewItem(f)) 
            .ToArray()); 
} 
+0

Merci, cela fonctionne. – luc

+2

@luc: content que cela ait aidé. Pensez à noter les réponses qui vous ont le plus aidé dans vos questions en tant que «réponses acceptées». C'est la coche verte. Cela vous aide à obtenir de meilleures réponses à vos questions à la fin! –

Questions connexes