我有一个正在处理的Stack<string>
,但有时我无法处理所有元素,我想将剩余的堆栈元素连接/连接到一个字符串中。是否有一个现有的函数,或者我需要在循环中弹出所有元素并将它们附加到字符串变量中?
尝试使用String.Join函数将几个对象连接到一个字符串中。
正如其他海报所提到的,解决方案是使用String.Joint()
至少对于Stack<string>
,似乎没有必要将其转换为.ToArray()
或.ToList()
var stack = new Stack<string>();
stack.Push("first element");
stack.Push("abc");
stack.Push("xyz");
stack.Push("last element");
string joinedString = String.Join(",", stack);
Console.WriteLine(joinedString);
// will print: last element,xyz,abc,first element
您还没有发布任何堆栈实现的代码示例,但Stack<T>
有一个ToArray()
方法,它将返回一个T[]
,然后您可以将其传递给String.Join()
以获得一个连接的字符串元素。
由于System.Collections.Stack
是ICollection
,您可以使用所有想要的Linq方法,如.ToList()
或.ToArray()
。
之后,string.Join()
将它们连接起来。