2010-09-05 48 views
0

我想對文件夾中的文件做一個列表視圖,但它不起作用。這段代碼有什麼問題?文件在列表視圖中的文件

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

與您的問題無關:第一行('DialogResult wczytywanie_z_folderu = new DialogResult();')是多餘的。刪除它,只需寫入'DialogResult wczytywanie_z_folderu = folderBrowserDialog1.ShowDialog();'。這同樣適用於'新列表',它也是多餘的。 – Timwi 2010-09-06 00:14:34

回答

3

for應該是:

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

更重要的是,使用foreach

目前尚不清楚爲什麼你要通過所有的隨機數來得到一個字母字符,只是簡單地用文件的名稱覆蓋Text屬性。

試試這個,以幫助讓生活更輕鬆。

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

謝謝,它的工作原理。 – luc 2010-09-05 23:48:23

+2

@luc:很高興幫助。考慮標記答案,幫助你最大限度地回答你的問題,作爲「接受的答案」這是綠色的選中標記。它可以幫助你最終得到更好的答案! – 2010-09-06 00:00:55

相關問題