📜  C#|命令行参数

📅  最后修改于: 2021-05-29 21:08:58             🧑  作者: Mango

用户或程序员传递给Main()方法的参数称为命令行参数。 Main()方法是程序执行的入口点。 Main()方法接受字符串数组。但是它从不接受程序中任何其他方法的参数。在C#中,通过以下方式将命令行参数传递给Main()方法:

static void Main(string[] args)
or 
static int Main(string[] args)

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

例子:

// C# program to illustrate the 
// Command Line Arguments
using System;  
namespace ComLineArg  
{  
    class Geeks {  
          
        // Main Method which accepts the
        // command line arguments as 
        // string type parameters  
        static void Main(string[] args) 
        {  
              
            // To check the length of 
            // Command line arguments  
            if(args.Length > 0)
            {
                Console.WriteLine("Arguments Passed by the Programmer:");  
              
                // To print the command line 
                // arguments using foreach loop
                foreach(Object obj in args)  
                {  
                    Console.WriteLine(obj);       
                }  
            }  
              
            else
            {
                Console.WriteLine("No command line arguments found.");
            }
    }   }
}

要编译并执行上述程序,请执行以下命令:

Compile: csc Geeks.cs  
Execute: Geeks.exe Welcome To GeeksforGeeks!

输出 :

Arguments Passed by the Programmer:
Welcome
To
GeeksforGeeks!

在上面的程序中,Length用于查找命令行参数的数量,命令行参数将存储在args []数组中。借助Convert类和解析方法,还可以将字符串参数转换为数字类型。举些例子:

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

这将通过使用Parse方法将字符串更改为长类型。也可以使用C#类型long,该别名为Int64。同样,可以使用C#中的预定义解析方法进行解析。

参考: https : //docs.microsoft.com/zh-cn/dotnet/csharp/programming-guide/main-and-command-args/command-line-arguments