我有以下代碼來使用驅動器(RootDrive)和目錄填充Treeview。 但是,如何在每個循環之後清除目錄集合?現在發生的是全部目錄全部驅動器被添加到每個驅動器。 當我在Finally語句中使用directories.Clear()時,沒有添加到每個驅動器的目錄。使用條目填充後清除ObservableCollection
static public ObservableCollection<GetDrive> RootDrive = new ObservableCollection<GetDrive>();
public MainWindow()
{
InitializeComponent();
ObservableCollection<GetDirectory>directories = new ObservableCollection<GetDirectory>();
foreach (DriveInfo di in DriveInfo.GetDrives())
{
try
{
foreach (string s in Directory.GetDirectories(di.Name))
{
directories.Add(new GetDirectory(s));
}
}
catch (IOException) //drive is not ready, e.g. DVD drive
{
}
finally
{
RootDrive.Add(new GetDrive(di.Name, directories));
directories.Clear();
}
}
}
}
}
清除剛纔填充的集合有什麼意義? – markmnl
要點是用新項目填充集合 –