我遇到了一个问题,我将第一个数组放入名为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[];
}
}
}
感谢任何帮助!
答案 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;
}