使用String.Join拼接Stack元素顺序不符问题求助
Stack元素拼接顺序不符的解决思路
StackString.Join("/", stack)会按栈顶到栈底的顺序拼接,得到element2/element1。要得到预期的element1/element2,可用以下几种方法:
反转枚举顺序后拼接
使用Reverse()方法反转Stack的遍历顺序,代码如下:String.Join("/", stack.Reverse());转为List后反转再拼接
先把Stack转为List,手动反转后再执行拼接,代码示例:var stackList = stack.ToList(); stackList.Reverse(); string result = String.Join("/", stackList);调整元素存入顺序(按需使用)
如果业务场景允许,存入Stack时先放element2再放element1,这样直接调用String.Join就能得到element1/element2,但这种方法只适合能控制存入逻辑的场景。
内容的提问来源于stack exchange,提问作者monkeycoder
相关产品推荐
相关产品推荐

