Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/303.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何从堆栈中检索数组_C# - Fatal编程技术网

C# 如何从堆栈中检索数组

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++) {

我想在我正在做的项目中实现一个堆栈,以前没有使用过堆栈,因为我是一个初学者。我只是觉得他们会耍花招。 我大致了解了它们的工作原理,但在尝试检索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);
将对象作为参数传递。此方法需要一个字符串作为输入,因此您应该先将数组转换为字符串

这个问题可能会帮助您:

这应该起作用:

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次,因为我只是在尝试,无论如何,再次感谢:很高兴能帮上忙!你能接受我的回答吗?谢谢