C# 如何从堆栈中检索数组
我想在我正在做的项目中实现一个堆栈,以前没有使用过堆栈,因为我是一个初学者。我只是觉得他们会耍花招。 我大致了解了它们的工作原理,但在尝试检索id已推入堆栈的数组时遇到了问题,我返回C# 如何从堆栈中检索数组,c#,C#,我想在我正在做的项目中实现一个堆栈,以前没有使用过堆栈,因为我是一个初学者。我只是觉得他们会耍花招。 我大致了解了它们的工作原理,但在尝试检索id已推入堆栈的数组时遇到了问题,我返回 static void Main(string[] args) { int G; int [] A=new int [2]; Stack st = new Stack(); for (G = 0; G < 5; G++) {
static void Main(string[] args)
{
int G;
int [] A=new int [2];
Stack st = new Stack();
for (G = 0; G < 5; G++)
{
A[0] = G;
A[1] = G;
st.Push(A);
}
foreach (Object obj in st)
{
Console.WriteLine(obj);
}
Console.ReadKey();
}
我得到的不是一组数组,而是System.Int32[]-如何返回数组的内容?问题是您正在使用
Console.WriteLine(obj);
将对象作为参数传递。此方法需要一个字符串作为输入,因此您应该先将数组转换为字符串
这个问题可能会帮助您:
这应该起作用:
static void Main(string[] args)
{
int G;
int [] A=new int [2];
Stack st = new Stack();
for (G = 0; G < 5; G++)
{
A[0] = G;
A[1] = G;
st.Push(A);
}
foreach (Object obj in st)
{
Console.WriteLine(string.Join("", (int[])obj));
}
Console.ReadKey();
}
另外,您应该注意到,您正在堆栈中推送同一数组五次。System.Int32[]-这是一个数组!谢谢marc也许我有点含糊不清。。我想返回实际数组,而不是数据类型使用通用堆栈比使用非通用堆栈更好。多谢Fabio,学到了一些新东西,所以我在堆栈中尝试了5次,因为我只是在尝试,无论如何,再次感谢:很高兴能帮上忙!你能接受我的回答吗?谢谢