c# – 在实现命令行标志时,应该用fowardslash(/)或连字符( – )前缀吗?

前端之家收集整理的这篇文章主要介绍了c# – 在实现命令行标志时,应该用fowardslash(/)或连字符( – )前缀吗?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
在从命令行读取参数/标志时,是否使用正斜杠(/)或连字符( – ),它们是否有任何约定(书面或一般理解)?
C:\> myprogram.exe -a
C:\> myprogram.exe /a

这两个似乎在我的经验中是可以互换的,但是我没有使用足够的命令行工具来表示我发现了任何规则或模式.

有没有一个很好的理由,其中任何一个都被使用?如果我想要理论上可以使用星号(*)吗?

解决方法

您可以(理论上)使用任何您想要的,因为参数只是将字符串传递到您的命令行程序.

Windows约会似乎更喜欢使用正斜杠ipconfig / all,尽管有程序采用连字符gacutil -i或甚至一种环境变量语法设置SKUUPGRADE = 1.

* Nix约定似乎更喜欢单字母参数的连字符-v,多字符参数的双连字符 – 复字符.

我更倾向于连字符,因为它们与OS无关(正斜杠是某些操作系统中的路径分隔符),并用于更现代的Windows应用程序(例如nuget).

编辑:

这将是推荐使用.NET命令行参数解析的库的好地方:http://commandline.codeplex.com/

猜你在找的C#相关文章