.net控制台程序Program args参数解析
一直很有疑问在控制台程序的Main函数中为什么会有个string[] args的参数,又没有什么用。
static void Main(string[] args)
{
}
这几天需要将一个控制台程序改造为既能作为exe双击运行,又能作为windows服务运行,然后开始研究到这个参数了。经过查询资料才发现这个参数其实有很大的作用。它是用来接收我们的启动参数的,比如我们有时候启动软件在敲命令时加上什么s,r什么的,就可以认为是启动参数了。例如图片中的s参数在启动这个exe时里面的args就会有值了。

然后在代码中我们就可以进行判断该软件是以何种方式运行了。
static void Main(string[] args)
{
if (args.Length > && args[] == "s")
{
ServiceBase[] ServicesToRun;
ServicesToRun = new ServiceBase[]
{
new EngineOnWinService()
};
ServiceBase.Run(ServicesToRun);
}
else
{
EngineOnHandler.EngineOnDataHandler();
}
}
.net控制台程序Program args参数解析的更多相关文章
- 控制台程序的参数解析类库 CommandLine
C#控制台程序的参数解析类库 CommandLine简单使用说明 前言 C#开发的控制台程序,默认接收string[] args参数.如果有多个参数需要输入时,可以按照顺序依次输入:但如果有些参数不是 ...
- C#控制台程序的参数解析类库 CommandLine简单使用说明
前言 C#开发的控制台程序,默认接收string[] args参数.如果有多个参数需要输入时,可以按照顺序依次输入:但如果有些参数不是必选的,或者有些参数中间需要有空格比如时间“2016-05-18 ...
- C#控制台程序入口函数 Main(string[] args) 参数详解
学习C#编程最常见的示例程序是在控制台应用程序中输出Hello World! using System; namespace DemoMainArgs { class Program { static ...
- 【C#基础知识】C#控制台程序入口函数 Main(string[] args) 参数详解
测试环境vs2019+.net5.0 请看 :https://cloud.tencent.com/developer/article/1507934 本测试环境vs2022+.net6.0 +wind ...
- (转)Java程序利用main函数中args参数实现参数的传递
Java程序利用main函数中args参数实现参数的传递 1.运行Java程序的同时,可以通过输入参数给main函数中的接收参数数组args[],供程序内部使用!即当你在Java命令行后面带上参数,J ...
- C# 程序之间传参数,Args 接收参数的处理
备忘,或者留给暂未接触但需要了解的人. C#在一个进程内传参数方法那是相当多,但是涉及到程序之间传参数就不是那么方便了(当然socket,内存共享等方式属于另一类,此处不讨论),我们的C或者C#,亦或 ...
- 控制台——args参数的赋值方法
args参数的赋值方法有好几种,主要介绍两种. 外部传参的方法:先找到bin目录下的exe文件,并创建快捷方法,在目标后面追加参数. 控制台主函数入口实现方法 static void Main(str ...
- web调用本地exe应用程序并传入参数
从网页中通过自定义URL Protocol调用本地程序,需要将协议写到注册表中.浏览器在解析到自定义URL Protocol之后,寻找注册表,通过注册表启动相应的程序并传入参数.协议里面需要记录本地程 ...
- .NET CORE与Spring Boot编写控制台程序应有的优雅姿势
本文分别说明.NET CORE与Spring Boot 编写控制台程序应有的“正确”方法,以便.NET程序员.JAVA程序员可以相互学习与加深了解,注意本文只介绍用法,不会刻意强调哪种语言或哪种框架写 ...
随机推荐
- redis集群部署步骤
1.yum 安装依赖 yum install gcc unzip wget 2.编译安装redis,编译安装的目的是源码包内包含了接下来创建redis集群所需要的 redis-trib.rb脚本 ma ...
- QWebView 与Js 交互
我本愚钝,在网上搜了一下没找到可以运行的栗子,遂在这记录一下吧. 环境:win10 64位系统 qt 4.8.7 (mingw32) qtcreator(4.5.0) 1. 建立一个 Widgets ...
- 初学者:__init__.py文件的作用
__init__.py 文件的作用及意义 __init__.py文件是一个包必须的文件,即使它是空的,但也是必须的,如果没有这个文件,python将不会把该文件夹当做一个package,而仅仅是一个d ...
- centos7.3 vsftpd 多用户配置
1. 安装vsftpd及pam认证服务软件 yum install vsftpd* -y yum install pam* libdb-utils libdb* --skip-broken -y #设 ...
- Qt——QScrollArea
1.QScrollArea是否显示滚动条是由一个主要的子控件决定.检查滚动条未显示(1)是否只有一个子控件(2)是否设置 setWidgetResizable(true);,因为这个的本质是QWidg ...
- GoLand软件免激活的使用方法
由于官方的Goland软件,免费使用期限是30天.如果你不购买产品的话,就需要不断的卸载和重装软件才能使用.不过要是您的资金允许的话,可以去http://www.jetbrains.com/go/bu ...
- PHP.48-TP框架商城应用实例-后台23-权限管理-权限验证
权限验证 1.登录控制器 2.通过tp验证码类生成验证码图片 3.在管理员模型增加登录验证规则 4.后台中所有的控制器必须先登录才能访问 思路:在访问任何一个控制器之前都判断一个session即可,= ...
- C# WebBrowser的DrawToBitmap方法 截取网页保存为图片
bool mark = true; private void btnOpen_Click(object sender, EventArgs e) { ...
- nginx 路由配置
nginx中location对url匹配: 语法:location [=|~|~*|^~] /uri/ { … } 当匹配中符合条件的location,则执行内部指令:如果使用正则表达式,必须使用~* ...
- Consul初体验
Preface Today I'm gonna implement a consul in my environment to discover service of MySQL da ...