Как упоминалось в других постерах, решение состоит в том, чтобы использовать 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