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();
あなたの提案を楽しみにしています!