我将告诉大家两个方法去获取C#输入的命令行参数。
第一个方法是不需要安装任何的库,这个方法是性能很高,但是封装不好。第二个方法是使用 CommandLineParser 库,这个库提高很好的封装但是性能会比较差。
第一个方法:
林选臣大神写的,他的方法很简单。
首先复制两个类到项目
复制完成就可以使用,在主函数可以使用下面代码进行转换,下面代码的 args
就是传入的参数字符串数组。
如果需要获得参数的信息,可以使用下面代码,也就是使用 Get 方法传入一个指定的值,通过这个值就可以拿到这个值的参数
如命令输入--lindexi doubi
,上面代码就可以拿到doubi
,虽然使用这个库的写法的封装不是很好,但是性能很好。下面告诉大家使用另一个方法,十分容易写,但是性能比较差。
第二个方法需要使用 Nuget 安装 CommandLineParser 库,可以在控制台输入下面代码安装
然后写一个工具类,代码是在申龙斌大神博客 抄的
主程序Main里使用可以使用下面代码,这里的 args 数组就是主函数传入函数。下面的代码是老版本的写法
上面的代码是老的版本,现在更新 2.2.0 版本是需要修改代码
原来的 DefaultValue 修改为 Default 可以传入任何类型
在 Main 函数需要修改代码
在 WithParsed 就是解析成功的委托,在 WithNotParsed 就是解析失败的
如何使用参见:http://www.cnblogs.com/speeding/archive/2012/08/07/2626066.html
Quickstart · gsscoder/commandline Wiki
参见:http://www.cnblogs.com/linxuanchen/p/c-sharp-command-line-argument-parser.html
http://www.cnblogs.com/speeding/archive/2012/08/07/2626066.html
安利一款命令行参数
原文链接: http://blog.lindexi.com/post/C%E5%91%BD%E4%BB%A4%E8%A1%8C%E8%A7%A3%E6%9E%90%E5%B7%A5%E5%85%B7
本作品采用 知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议 进行许可。
欢迎转载、使用、重新发布,但务必保留文章署名 林德熙 (包含链接: https://blog.lindexi.com ),不得用于商业目的,基于本文修改后的作品务必以相同的许可发布。如有任何疑问,请与我 联系。