StackOverflowException错误

时间:2015-10-22 18:27:01

标签: c# arrays methods stack-overflow

我遇到了一个问题,我将第一个数组放入名为DisplayArray1()的公共方法中,我编译了它,当我打开可执行文件时说“由于StackOverflowException导致进程终止” ?还有其他人有这个问题吗?

到目前为止,这是我的代码:

using System;

namespace FlexibleArrayMethod
{
    class Program
    {
        static void Main()
        {
            Console.Clear();

            // Call intDisplayArray1() to output on screen
            intDisplayArray1();
            Console.Write("Array 1:  ");
        }
        public static int intDisplayArray1()
        {
            // first array declaration
            int[] Array1 = {5, 10, 15, 20};

            return intDisplayArray1[];
        }
    }
}

感谢任何帮助!

1 个答案:

答案 0 :(得分:2)

假设return intDisplayArray1[];(没有编译)在代码中真的是return intDisplayArray1();,那么你处于一个递归循环中。

您在没有退出条件的情况下重复调用方法。看起来你真的只想返回你的数组:

 public static int[] intDisplayArray1()
 {
    int[] Array1 = { 5, 10, 15, 20 };

    return Array1;
 }

虽然仍存在大量的逻辑错误。

以下是我认为您正在尝试做的事情:

static void Main()
{
    Console.Clear();

    // Call intDisplayArray1() to output on screen
    int[] array1 = intDisplayArray1();
    Console.Write("Array 1: " + string.Join(",", array1));
    Console.Read();
}

public static int[] intDisplayArray1()
{
   // first array declaration
   int[] Array1 = { 5, 10, 15, 20 };

   return Array1;
}