Main() 方法的参数

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Main() 方法的参数相关的知识,希望对你有一定的参考价值。

  通过以下方式之一定义方法,可以将参数发送至 Main 方法。

static int Main(string[] args)

 

static void Main(string[] args)

  【备注】若要在 Windows 窗体应用程序中的 Main 方法中启用命令行参数,必须手动修改 program.cs 中 Main 的签名。 Windows 窗体设计器生成的代码创建没有输入参数的 Main。 也可以使 用 Environment.CommandLine 或 Environment.GetCommandLineArgs 从控制台或 Windows 应用程序中的任何位置访问命令行参数。

 

  Main 方法的参数是表示命令行参数的 String 数组。 一般是通过测试 Length 属性来确定参数是否存在,例如:

        if (args.Length == 0)
        {
            WriteLine("Hello World.");
            return 1;
        }

  

  还可以使用 Convert 类或 Parse 方法将字符串参数转换为数值类型。 例如,下面的语句使用 Parse 方法将 string 转换为 long 数字:

long num = Int64.Parse(args[0]);  

 

  也可以使用别名为 Int64 的 C# 类型 long

long num = long.Parse(args[0]);  

 

  还可以使用 Convert 类的方法 ToInt64 完成同样的工作:

long num = Convert.ToInt64(s);  

 

  下面的示例演示如何在控制台应用程序中使用命令行参数。 应用程序在运行时采用一个参数,将该参数转换为整数,并计算该数的阶乘。 如果没有提供参数,则应用程序发出一条消息来解释程序的正确用法。

 public class Functions
    {
        public static long Factorial(int n)
        {
            
            if ((n < 0) || (n > 20))
            {
                return -1;
            }

           
            long tempResult = 1;
            for (int i = 1; i <= n; i++)
            {
                tempResult *= i;
            }
            return tempResult;
        }
    }

    class MainClass
    {
        static int Main(string[] args)
        {
            // Test if input arguments were supplied:
            if (args.Length == 0)
            {
                Console.WriteLine("Please enter a numeric argument.");
                Console.WriteLine("Usage: Factorial <num>");
                return 1;
            }

            int num;
            bool test = int.TryParse(args[0], out num);
            if (test == false)
            {
                Console.WriteLine("Please enter a numeric argument.");
                Console.WriteLine("Usage: Factorial <num>");
                return 1;
            }

            
            long result = Functions.Factorial(num);

           
            if (result == -1)
                Console.WriteLine("Input must be >= 0 and <= 20.");
            else
                Console.WriteLine("The Factorial of {0} is {1}.", num, result);

            return 0;
        }
    }

 

以上是关于Main() 方法的参数的主要内容,如果未能解决你的问题,请参考以下文章

Java方法

VSCode 配置 用户自定义代码片段 自定义自动代码补充

将公共属性和方法公开给 Main Activity 的片段是不是是一种不好的形式?

如何通过代码设置片段标签?

NDK: ant 错误 [javah] Exception in thread "main" java.lang.NullPointerException 多种解决办法(代码片段

片段问题中的 NullPointerException