将"--help"参数添加到C#控制台应用程序

use*_*099 2 .net c# environment console command-line

我通过命令行使用的几乎所有.exe都有一个帮助函数,可以通过"--help"命令调用.

我如何在C#中实现这一点?是否像检查args []中的参数是否为字符串"--help"一样简单?

Dav*_*rno 18

使用*nix命令,通常可以通过-h或获取帮助--help.许多Windows命令都会提供帮助/?.所以做一些像这样的事情是不错的做法:

public static void Main(string[] args)
{
    if (args.Length == 1 && HelpRequired(args[0]))
    {
        DisplayHelp();
    }
    else
    {
        ...
    }
}

private static bool HelpRequired(string param)
{
    return param == "-h" || param == "--help" || param == "/?";
}
Run Code Online (Sandbox Code Playgroud)


Gay*_*Fow 8

用于处理跨多种文化的命令行的AC#片段是......

        string[] args = Environment.GetCommandLineArgs();
        if (args.Length == 2)
        {
            if (args[1].ToLower(CultureInfo.InvariantCulture).IndexOf("help", System.StringComparison.Ordinal) >= 0)
            {
                // give help
            }
        }
Run Code Online (Sandbox Code Playgroud)

检测逻辑可以与"?"组合 要么 "/?" 或涵盖所有预期案件的任何其他组合.

注意:从环境中获取参数时,加载器会填充arg [0].第一个'用户'参数在arg [1]中.