本帖最后由 Cool_Breeze 于 2021-5-28 11:30 编辑
C# 数组维度超过了支持的范围。
[C#] 纯文本查看 复制代码 using System;
using System.Collections;
class Program
{
static void Main()
{
Stack infinityStack = new Stack();
decimal count = 0;
while (true)
{
count++;
try
{
infinityStack.Push("ooo");
}
catch (Exception e)
{
// count 1,6777,2161
// System.OutOfMemoryException: 数组维度超过了支持的范围。
// 在 System.Collections.Stack.Push(Object obj)
// 在 Program.Main(), 167772161
Console.WriteLine("{0}, {1}", e, count);
break;
}
}
}
}
上面搞错了
Process is terminated due to StackOverflowException.
[C#] 纯文本查看 复制代码 using System;
class Program
{
static void Main()
{
int count = 0;
Add(count);
}
static int Add(int count)
{
return Add(count);
}
}
[C#] 纯文本查看 复制代码 using System;
class Program
{
static void Main()
{
int count = 1;
Console.WriteLine(Add(count));
}
static int Add(int count)
{
int status = 0;
if (count < 50000)
{
// count = 15885 进程报错
// Process is terminated due to StackOverflowException.
Console.WriteLine(count);
status = Add(++count);
}
return status+1;
}
} |