非常直截了當。按下按鈕,從對話框中選擇一個路徑,搜索路徑的子目錄,並將它們顯示在消息框中。但遇到了幾個問題。如何解決這個小問題(可能很簡單)DirectoryInfo語法錯誤?
private void InputButton_Click(object sender, RoutedEventArgs e)
{
//CHECKS TO SEE IF "OK" WAS CLICKED IN DIALOGBOX
if (fbd.ShowDialog() == System.Windows.Forms.DialogResult.OK)
{
}
//SELECTS DIRECTORY PATH
Path.GetDirectoryName(fbd.SelectedPath);
string path = Path.GetDirectoryName(fbd.SelectedPath);
InputDirectory_Box.Text = path;
//SELECTS SUBDIRECTORIES FROM PATH
string[] subdirectories = DirectoryInfo.GetDirectories(path);
for (int i = 0; subdirectories.Length+1 >= 0; i++)
{
MessageBox.Show(subdirectories[i]);
}
}
行string[] subdirectories = DirectoryInfo.GetDirectories(path);
表示它需要非靜態字段的對象引用。我已經宣佈path
爲它提供搜索字符串。我爲Directory類使用了完全相同的代碼和語法行(不是DirectoryInfo
類),它是合法的。但是,使用Directory.GetDirectories
時遇到問題。由於某種原因,它找到路徑的父目錄目錄而不是subdirectories
。
如果任何人都可以在亮一些輕:
A - 爲什麼我得到這個語法錯誤
乙 - 它爲什麼被從路徑返回父目錄,而不是子目錄
,那麼你會成爲英雄。非常感謝
PS我完全不熟悉編程,也不知道枚舉/枚舉是什麼,所以如果它有什麼關係,我會很感激可能是一個小例子或什麼背景是。
在閱讀時,我瞭解到,您可以從頭到尾以長度爲1開始向後索引數組。我認爲長度+ 1是陣列的開始。 重寫代碼很有幫助謝謝。但是,我也想弄清楚如何使用DirectoryInfo類。更具體地說,DirectoryInfo.GetDirectories與Directories類不同。我認爲有人回答了這個問題。它需要被實例化。 – Aspen