【发布时间】:2025-12-07 17:10:01
【问题描述】:
我有以下代码,它给了我一个 Stack 包含路径的文件夹层次结构:
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();
期待您的建议!
【问题讨论】: