我想要做的是獲得所有的目錄和每個目錄裏面的文件,並將其添加到列表。名單應該是這樣的,例如:我如何製作一個嵌套的FileInfo列表?
在指數[0] {[FileInfo的列表,並在所有文件]}
所以在每個索引我將有目錄和裏面的所有此目錄的文件。
我試圖做的:
private void getfiles()
{
List<List<FileInfo>> fileList = new List<List<FileInfo>>();
for (int i = 0; i < BackgroundWorkerConfiguration.urlsDirectories.Count; i++)
{
System.IO.DirectoryInfo di = new System.IO.DirectoryInfo(BackgroundWorkerConfiguration.urlsDirectories[i]);
fileList.AddRange(di.GetFiles("*.*", System.IO.SearchOption.AllDirectories).Where(x => x.Length > 0));
}
file_array = fileList.OrderBy(x => x.CreationTime).Select(x => x.FullName).ToArray();
//file_array = fileList.OrderByDescending(x => x.CreationTime).Select(x => x.FullName).ToArray();
timer1.Enabled = true;
}
我在列表改變了List<FileInfo>
到List<List<FileInfo>>
,這樣一個列表。
因此,最後如果我有硬盤上的5個目錄列表將有5個索引,並在每個索引將有一個列表與目錄的文件。
編輯**
這是Timer1 Tick事件:
private void timer1_Tick(object sender, EventArgs e)
{
try
{
//this.pictureBox1.SizeMode = PictureBoxSizeMode.StretchImage;
for (int i = 0; i < file_array.Length; i++)
{
}
if (leave == true)
{
pb.Load(file_array[file_indxs]);
}
else
{
pbs[0].Load(file_array[file_indxs]);
}
file_indxs = file_indxs + 1;
if (file_indxs >= file_array.Length)
{
file_indxs = 0;
}
}
catch
{
timer1.Enabled = false;
}
}
我有8個pictureBoxes我在Form1構造函數創建它們。 在這種情況下,在計時器滴答事件中,我將圖像分配給第一個圖片框的pbs [0]。
我需要做的是使用嵌套列表,並將每個目錄的文件分配給一個pictureBox。 因此,嵌套列表中的第一個索引應該分配給第一個pictureBox pbs [0],然後索引1到pbs [1]等等。
所以如果嵌套列表有5個索引,它應該被分配到5個圖片框。
而是將所有圖像分配給pbs [0],這就是爲什麼我做了嵌套列表。
究竟是什麼問題? – pasty
問題是如何用FileInfo來完成它。我很久以前用String做過。但因爲我想排序文件我不知道如何在這種情況下做到這一點。我將FileInfo List更改爲嵌套列表,但不知道如何從那裏使用它。 –
不知何故,很難說實際的問題和你的意圖是什麼。很多信息,但沒有問題。如果你能把你的實際問題縮小到1-2個句子和一個(更具體的)問題,我認爲這會有所幫助...... – Knickedi