繁体   English   中英

如何从堆栈中检索数组

[英]How can I retrieve an array from a stack

我想在正在开发的项目中实现堆栈,因为我是一个初学者,所以以前没有使用过堆栈。 我只是觉得他们会解决问题。 我对它们的工作方式有一个大致的了解,但是在尝试检索id已推送到堆栈中的数组时遇到了麻烦,正在返回

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);

将对象作为参数传递。 此方法需要一个字符串作为输入,因此,您应该先将数组转换为字符串。

这个问题可能会对您有所帮助:将int数组转换为字符串

这应该工作:

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();
}

另外,您应该注意到在堆栈中将相同的数组压入了五次。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM