iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >C#怎么通过System.CommandLine快速生成支持命令行的应用程序
  • 143
分享到

C#怎么通过System.CommandLine快速生成支持命令行的应用程序

2023-07-02 16:07:07 143人浏览 泡泡鱼
摘要

这篇文章主要介绍了C#怎么通过System.CommandLine快速生成支持命令行的应用程序的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇C#怎么通过System.CommandLine快速生成支持命令行的应

这篇文章主要介绍了C#怎么通过System.CommandLine快速生成支持命令行的应用程序的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇C#怎么通过System.CommandLine快速生成支持命令行的应用程序文章都会有所收获,下面我们一起来看看吧。

一直以来,当我们想让我们的控制台程序支持命令行启动时,往往需要编写大量代码来实现这一看起来很简单的功能。虽然有一些库可以简化一些操作,但整个过程仍然是一个相当枯燥而乏味的过程。

今天,我这里要介绍一个新的命令行库:System.CommandLine,通过他我们可以几乎无需任何额外的编码就可以获得命令行的支持,它能大幅减少程序员花在提供命令行api(CLI)上的时间,改善CLI程序用户的体验,让开发者能专注于编写应用程序。

目前这个库还是预览版本,要体验的话需要可以使用如下库:System.CommandLine.DragonFruit。首先以一个简单的示例来演示它的功能。

static void Main(string input, string output){    Console.WriteLine($"Input: {input}, Output: {output}");}

这里我们并没有要显式使用这个库,只需要将Main函数的入参改成我们需要使用的类型,程序便自动实现了命令行的支持。我们甚至可以用—help查看程序的命令行的配置方式

    ConsoleApp1.exe --help
    Usage:
     ConsoleApp1 [options]
    Options:
     --input <INPUT> input
     --output <OUTPUT> output
     --version Display version infORMation

可见,它能自动根据Main函数的参数自动解析出命令行的格式,并生成帮助文档。

接着,我们再来看看命令行的使用:

    ConsoleApp1 --input ii --output out
    Input: ii, Output: out

完美的进行了命令行的解析,它也可以读取xml注释,实现更加复杂的说明。

/// <summary>/// Converts an image file from one format to another./// </summary>/// <param name="input">The path to the image file that is to be converted.</param>/// <param name="output">The name of the output from the conversion.</param>/// <param name="xCropSize">The x dimension size to crop the picture. The default is 0 indicating no cropping is required.</param>/// <param name="yCropSize">The x dimension size to crop the picture. The default is 0 indicating no cropping is required.</param>static void Main(string input, string output, int xCropSize = 0, int yCropSize = 0){}

生成的帮助输出效果如下:

    ConsoleApp1:
     Converts an image file from one format to another.
    Usage:
     ConsoleApp1 [options]
    Options:
     --input <INPUT> The path to the image file that is to be converted.
     --output <OUTPUT> The name of the output from the conversion.
     --x-crop-size <X-CROP-SIZE> The x dimension size to crop the picture. The default is 0 indicating no cropping is required.
     --y-crop-size <Y-CROP-SIZE> The x dimension size to crop the picture. The default is 0 indicating no cropping is required.
     --version Display version information

相比传统的命令行库,这个库的优势非常明显,我们可以几乎不编写任何代码就可以获得命令行程序的支持。对于复杂的命令行程序来说,可能这里的方式并不能满足需求。

关于“C#怎么通过System.CommandLine快速生成支持命令行的应用程序”这篇文章的内容就介绍到这里,感谢各位的阅读!相信大家对“C#怎么通过System.CommandLine快速生成支持命令行的应用程序”知识都有一定的了解,大家如果还想学习更多知识,欢迎关注编程网精选频道。

--结束END--

本文标题: C#怎么通过System.CommandLine快速生成支持命令行的应用程序

本文链接: https://www.lsjlt.com/news/343006.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • c语言怎么保证除完还是小数
    在 c 语言中,整数除法只能得到整数结果,要得到小数结果,需将操作数显式转换为浮点数:将一个操作数转换为浮点数,如 float result = num1 / (float)num2;将...
    99+
    2024-05-14
    c语言
  • c语言怎么让结尾不输出空行字符
    要阻止 c 语言程序结尾输出空行字符,可以使用以下方法:将 main 函数的返回值类型改为 void;在 main 函数中显式返回 0;调用 fflush(stdout) 函数刷新标准输...
    99+
    2024-05-14
    c语言
  • c语言怎么让结尾不输出空行数据
    在 c 语言中,可通过以下方法抑制 printf() 函数在程序结束时打印末尾空行:调用 fflush() 函数刷新缓冲区,立即输出所有数据;使用 setvbuf() 函数关闭缓冲,使数...
    99+
    2024-05-14
    c语言
  • c语言怎么让结尾无空行
    在 c 中去除结尾空行的方法:使用 fflush() 刷新缓冲区。使用 setvbuf() 将缓冲模式设置为 _ionbf。使用 printf 宏,它默认禁用缓冲。 如何在 C 语言中...
    99+
    2024-05-14
    c语言
  • c语言怎么输入实数赋值
    c语言中使用scanf()函数输入实数并赋值给变量:格式:scanf("%lf", &amp;variable);%lf是格式说明符,指定输入双精度浮点数;&...
    99+
    2024-05-14
    c语言
  • c语言怎么表达负数
    c语言中,负数以减号 (-) 表示,放在数字或变量前。负数运算规则包括:绝对值取正数;加正数或负数,结果取决于绝对值大小;乘或除以正数或负数,结果由符号奇偶性决定。负数的平方始终为正数,...
    99+
    2024-05-14
    c语言
  • c语言怎么输入Jac数列
    jacobi 数列的输入和生成方法分别有:1. 直接输入法:使用 scanf() 函数逐项输入数列。2. 递归生成法:使用递归公式生成数列,需初始化数列的前两项,然后按公式生成后续项。 ...
    99+
    2024-05-14
    c语言
  • c语言怎么把数组变成字符串
    在 c 语言中,将数组转换成字符串的方法包括:使用 sprintf() 将数组格式化为字符串。使用 strcpy() 将数组复制到字符串。使用 strncpy() 将指定长度的数组复制到...
    99+
    2024-05-14
    c语言
  • c语言怎么批量注释
    批量注释 c 语言代码的方法有:使用代码编辑器:使用快捷键或菜单命令自动添加 // 注释符号。使用注释工具:如 doxygen 和 cutter,批量添加行注释、块注释和文档注释。使用脚...
    99+
    2024-05-14
    python sublime c语言
  • c语言怎么把选中的全部注释
    c语言中注释选中内容可通过以下步骤实现:选中要注释的代码。根据使用的编辑器或ide,执行注释操作,例如在visual studio中右键单击并选择“注释所选内容”。添加注释内容。保存更改...
    99+
    2024-05-14
    sublime c语言
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作