gpt4 book ai didi

c# - 在 C# 中,有没有一种方法可以在不循环的情况下将数组转换为 Stack

转载 作者:可可西里 更新时间:2023-11-01 08:32:28 26 4
gpt4 key购买 nike

我有以下代码,它为我提供了一个包含路径文件夹层次结构的 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();

期待您的建议!

最佳答案

Stack<T>有一个constructor接受 IEnumerable<T>

关于c# - 在 C# 中,有没有一种方法可以在不循环的情况下将数组转换为 Stack<T>?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13950685/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com