using System.Collections.Generic;
public static void Main()
var text = "hello -n 66 -t 增强 -g -s 1000";
var result = CommandLine.Parser.Default.ParseArguments<Options>(args).MapResult((opts) => RunOptionsAndReturnExitCode(opts),
errs => HandleParseError(errs));
Console.WriteLine("Return code= {0}", result);
static int RunOptionsAndReturnExitCode(Options o)
Console.WriteLine("Success");
Console.WriteLine("number=" + o.Number);
Console.WriteLine("type=" + o.Type);
Console.WriteLine("global=" + o.Global);
Console.WriteLine("speed=" + o.Speed);
static int HandleParseError(IEnumerable<Error> errs)
Console.WriteLine("errors {0}", errs.Count());
if (errs.Any(x => x is HelpRequestedError || x is VersionRequestedError))
Console.WriteLine("Exit code {0}", result);
[Option('n', "number", Required = false, HelpText = "输入数量")]
public int Number { get; set; }
[Option('t', "type", Required = false, HelpText = "输入类型")]
public string Type { get; set; }
[Option('g', "global", Required = false, HelpText = "是否全局")]
public bool Global { get; set; }
[Option('s', "speed", Required = false, HelpText = "速度")]
public int Speed { get; set; }