我有下面的代碼,給了我一個Stack
包含路徑的文件夾層次結構:在C#中,有沒有辦法將數組轉換爲堆棧<T>而沒有循環?
var path = @"C:\Folder1\Folder2\Folder3\Folder4\Folder5\FileName.ext";
// String array with an element for each level
var folders = path.Split('\\');
var stack = new Stack<string>();
foreach(var folder in folders)
stack.Push(folder);
var filename = stack.Pop(); // 'FileName.ext'
var parent = stack.Pop(); // 'Folder5'
var grandParent = stack.Pop(); // 'Folder4'
只是出於好奇,有沒有給folders
陣列成Stack
轉換沒有foreach
循環更優雅的方式?有點像(不存在)以下:
var folders = path.Split('\\').Reverse().ToStack();
我期待您的建議!
做一個擴展方法! – duedl0r
@ duedl0r - 已經有一個構造函數了! –
@JakubKonecki:酷! – duedl0r