UPDATED:
This code will work like a common WindowsFormApplication file explorer.
When you enter the id for each folder (each files and folders will have an id), it will show files and folders in it.
The thing i want is when user enter the ".." console go one step back (parent directory). I mean do somthing like "cd .." in CMD
This code will do the exploring in child folders (and its OK) but i don't know how to get back to the parent folder ( i know i should use Directory.GetParent and i know how to use it, i just want to know where should i put it in the code):
while (true)
{
var select2 = Convert.ToInt32(Console.ReadLine());
var dirDir = Directory.GetDirectories(dirDrive[select2]);
var fileDir = Directory.GetFiles(dirDrive[select2]);
for (var j = 0; j < dirDir.Length; j++)
Console.WriteLine("{0})\t{1}", j, Path.GetFileName(dirDir[j].TrimEnd(Path.DirectorySeparatorChar)));
for (var k = dirDir.Length; k < fileDir.Length; k++)
Console.WriteLine("{0})\t{1}", k, Path.GetFileName(fileDir[k]));
dirDrive = dirDir;
}
Here you can see the codes that i added (commented codes) but it will crash absolutely because i don't have a folder with id ".." in my array, and it will say "Index was outside the bounds of the array."
while (true)
{
var select2 = Convert.ToInt32(Console.ReadLine());
//if (Convert.ToString(select2) != "..")
//{
var dirDir = Directory.GetDirectories(dirDrive[select2]);
var fileDir = Directory.GetFiles(dirDrive[select2]);
for (var j = 0; j < dirDir.Length; j++)
Console.WriteLine("{0})\t{1}", j, Path.GetFileName(dirDir[j].TrimEnd(Path.DirectorySeparatorChar)));
for (var k = dirDir.Length; k < fileDir.Length; k++)
Console.WriteLine("{0})\t{1}", k, Path.GetFileName(fileDir[k]));
dirDrive = dirDir;
//}
//else
//{
// var dirDir = Directory.GetDirectories(Path.GetDirectoryName(dirDrive[select2]));//Error occurs here
// var fileDir = Directory.GetFiles(dirDrive[select2]);
// for (var j = 0; j < dirDir.Length; j++)
// Console.WriteLine("{0})\t{1}", j, Path.GetFileName(dirDir[j].TrimEnd(Path.DirectorySeparatorChar)));
// for (var k = dirDir.Length; k < fileDir.Length; k++)
// Console.WriteLine("{0})\t{1}", k, Path.GetFileName(fileDir[k]));
// dirDrive = dirDir;
//}
}
This is the whole code: pastebin , in case you want to try it.
MY QUESTION: I use this code for exploring through child folders. I want to know how can i get to parent folder ?
Thanks to all programmers helped me last time.