What is the maximum number of parameters that a C# method can be defined as taking?

后端 未结 2 470
南方客
南方客 2020-12-10 00:19

I am trying to figure out what the maximum number of parameters a method in C# can have. I\'ve checked everywhere for an answer, including the C# official documentation, MSD

2条回答
  •  隐瞒了意图╮
    2020-12-10 01:00

    I used a throwaway program to create a program to determine the maximum number of parameters I can pass to a method. Based on the results of my experimentation, the closest to an answer I can find are the following (all of which is only valid on my computer):

    1. A .net application containing a method with 16383 parameters can be compiled, ran, and called (!)
    2. A .net application containing 16384 or more parameters can be compiled, but running such a program throws an unstated exception.
    3. A .net application containing 50000 parameters can also be compiled, but attempting to run such an application results in a StackOverflowException being thrown.
    4. Attempting to compile a .net application containing 100000 parameters or more results in csc.exe giving a compile-time error, stating that the resulting expression is too long or complex to handle.

    Aside from that, does anyone have a definitive answer to this question?

    P.S. If anyone wants to try this experiment on their computer, you can start with my test program, which can be downloaded https://docs.google.com/open?id=0B1Q3uRTkbsXic2cwUFpXanNkSk0

提交回复
热议问题