方法中的最大变量数

Onl*_*ind 9 c#

我在这里闲着,所以我有这种好奇心,有人可以告诉我C#中每种方法的最大变量数是多少?

Jep*_*sen 18

我只是试图编译26个*26个*26个*26个的局部变量,不是方法的参数生成的节目源,(他们被称为@aaaa,@aaab,@aaac等),和我打这个限制:

错误CS0204:仅允许65534个本地


Tig*_*ran 5

变量计数没有已知限制,也因为任何变量可以具有不同的大小,但执行 堆栈大小存在内存限制.

引用布莱恩:

.NET应用程序的默认堆栈大小为1 MB(对于32位ASP.NET应用程序,默认值为256 KB,对于64位ASP.NET应用程序,默认值为512 KB),但您可以更改它.对于应用程序,您可以通过修改可执行文件的PE头来更改默认大小.对于您创建的线程,您可以使用占用堆栈大小的构造函数重载.

C#中的堆栈容量

  • 我尝试使用超过65534个局部变量创建一个方法(请参阅我的回答),但无法编译.它们是参考类型.堆栈上的65535个引用不应超过1 MB(但正如我所说,它在编译时已经失败).这是VS2012附带的Visual C#编译器(即C#5). (3认同)