在C#中如何获取程序的命令行参数

 更新时间:2025年01月07日 10:54:38   作者:坐井观老天  
本文介绍了在C#中获取程序命令行参数的几种方法,包括重写Main方法和使用Environment.GetCommandLineArgs方法,还讨论了如何在不同的环境中设置命令行参数,如IDE、命令提示符、拖放和发送到菜单,文章提供了一个在目录层次结构中搜索文件的示例程序

在C#中获取程序的命令行参数

实现此目的的一种方法是重写程序的Main方法并赋予其一个字符串数组参数,如下面的代码所示。

static void Main(string[] args)
{
    foreach (string arg in args)
    {
        lstArguments.Items.Add(arg);
    }
}

这种方法是从 C 编程语言继承而来的。

我更喜欢下面的方法

部分是因为您不需要处理Main,部分是因为它允许您在程序中的任何位置检查命令行参数。

private void Form1_Load(object sender, EventArgs e)
{
    foreach (string arg in Environment.GetCommandLineArgs())
    {
        lstArguments.Items.Add(arg);
    }
}

此代码只是循环遍历Environment.GetCommandLineArgs方法 返回的参数。

集合中的第一个参数始终是执行程序的完全限定名称。集合的其余部分保存传递给程序的任何其他参数。

这种技术很有趣

但更有趣的是,你可以用很多方法向程序发送参数。

例如,你可以:

在 IDE 中设置它们。打开“项目”菜单,选择“属性”(在底部),单击“调试”选项卡,然后在“命令行参数”文本框中输入参数。(这主要用于测试。)

在命令提示符下执行程序(例如,运行命令或 cmd.exe),并在后面加上参数

将一个或多个文件或文件夹拖放到可执行程序上。

右键单击并将文件或文件夹发送到“发送到”菜单中添加的可执行程序(请参阅我的帖子“将项目添加到发送到菜单”)。

拖放和发送到方法为您提供了一种相当简单的方法来制作处理文件或目录的程序。启动时,程序可以检查其命令行参数。如果有任何参数(除程序名称外),它可以处理文件。如果没有参数,它可以显示用户界面,以便用户可以选择要处理的文件。

这就是C# 中在目录层次结构中搜索文件以查找目标字符串的示例的工作 原理。启动时,它会检查其命令行参数。如果程序有多个参数,它会将第二个参数放在您输入搜索起始目录的文本框中。

这使得开始搜索变得更容易。只需将文件夹拖到可执行程序上或通过“发送到”菜单将其发送到此程序即可。

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • C#实现简单的字符串加密

    C#实现简单的字符串加密

    这篇文章介绍了C#实现字符串加密的方法,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-06-06
  • c# 曲线图生成代码

    c# 曲线图生成代码

    c# 曲线图生成代码,需要的朋友可以参考下。
    2011-07-07
  • C#中Invoke和BeginInvoke区别小结

    C#中Invoke和BeginInvoke区别小结

    有时候,我们不得不跨线程调用主界面的控件来进行操作,所以为了方便的解决问题,.net为我们提供了Invoke 与beginInvoke,那么Invoke和BeginInvoke区别在哪,本文就来详细的介绍一下
    2023-08-08
  • C# Oracle批量插入数据进度条的实现代码

    C# Oracle批量插入数据进度条的实现代码

    这篇文章主要介绍了C# Oracle批量插入数据进度条的实现代码,需要的朋友可以参考下
    2018-04-04
  • C#使用ZXing.Net实现识别二维码和条码

    C#使用ZXing.Net实现识别二维码和条码

    ZXing用Java实现的多种格式的一维二维条码图像处理库,而ZXing.Net是其.Net版本的实现,本文主要为大家详细介绍了如何使用ZXing.Net实现识别二维码和条码,需要的可以参考下
    2024-01-01
  • C# 实现颜色渐变窗体控件详细讲解

    C# 实现颜色渐变窗体控件详细讲解

    这篇文章主要介绍了C# 实现颜色渐变窗体控件详细讲解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-01-01
  • c# base关键字的具体使用

    c# base关键字的具体使用

    base关键字用于从派生类中访问基类的成员,本文主要介绍了c# base关键字的具体使用,文中通过示例代码介绍的非常详细,需要的朋友们下面随着小编来一起学习学习吧
    2024-03-03
  • C#简单实现防止多个程序运行的方法

    C#简单实现防止多个程序运行的方法

    这篇文章主要介绍了C#简单实现防止多个程序运行的方法,涉及C#进程操作的相关技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2016-02-02
  • C#多线程之Thread中Thread.IsAlive属性用法分析

    C#多线程之Thread中Thread.IsAlive属性用法分析

    这篇文章主要介绍了C#多线程之Thread中Thread.IsAlive属性用法,实例分析了C#判断线程可用状态的技巧,非常具有实用价值,需要的朋友可以参考下
    2015-04-04
  • C#中括号强转、as、is区别详解

    C#中括号强转、as、is区别详解

    本文主要介绍了C#中括号强转、as、is区别详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-02-02

最新评论