在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# 线程安全的用法原理及使用示例,帮助大家更好的理解和使用c#,感兴趣的朋友可以了解下,希望能够给你带来帮助
    2021-09-09
  • C# Windows API应用之基于FlashWindowEx实现窗口闪烁的方法

    C# Windows API应用之基于FlashWindowEx实现窗口闪烁的方法

    这篇文章主要介绍了C# Windows API应用之基于FlashWindowEx实现窗口闪烁的方法,结合实例形式分析了Windows API函数FlashWindowEx的功能、定义及实现窗口闪烁的相关技巧,需要的朋友可以参考下
    2016-08-08
  • C# 使用SpecFlow创建BDD测试用例的示例代码

    C# 使用SpecFlow创建BDD测试用例的示例代码

    这篇文章主要介绍了C# 使用SpecFlow创建BDD测试用例,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-06-06
  • C#反射(Reflection)详解

    C#反射(Reflection)详解

    本文详细讲解了C#中的反射(Reflection),文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-04-04
  • C# 创建、部署和调用WebService简单示例

    C# 创建、部署和调用WebService简单示例

    这篇文章主要为大家详细介绍了C# 创建、部署和调用WebService的简单示例,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-05-05
  • C#中var关键字用法分析

    C#中var关键字用法分析

    这篇文章主要介绍了C#中var关键字用法,实例分析了C#中var关键字的应用场合,对于.NET的学习具有一定参考价值,需要的朋友可以参考下
    2014-12-12
  • C# 三种方式实现Socket数据接收

    C# 三种方式实现Socket数据接收

    这篇文章主要给大家分享三种实现C# 实现Socket数据接收的方式,接下俩小编就来为大家详细介绍吧,需要的朋友可以参考一下
    2021-10-10
  • 使用C#连接并读取MongoDB数据库

    使用C#连接并读取MongoDB数据库

    这篇文章介绍了使用C#连接并读取MongoDB数据库的方法,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-03-03
  • Entity Framework主从表的增删改

    Entity Framework主从表的增删改

    这篇文章介绍了Entity Framework主从表的增删改,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-06-06
  • C#集合数据去重的5种方式及对比分析

    C#集合数据去重的5种方式及对比分析

    今天我们一起来讨论一下关于C#集合数据去重的5种方式并且使用BenchmarkDotNet对这5种方式进行性能基准对比测试分析,每种方法都有其特点和适用场景,我们可以根据具体需求和执行效率选择一种进行使用,需要的朋友可以参考下
    2024-11-11

最新评论