Visual Studio 输入参数如何正确使用?

99ANYc3cd6
预计阅读时长 15 分钟
位置: 首页 参数 正文
  1. 程序启动时:从命令行向你的应用程序(通常是控制台应用)传递参数。
  2. 函数/方法调用时:在代码中调用一个函数,向它传递数据。

下面我将详细讲解这两种情况,并提供图文并茂的步骤说明。

visual studio 输入参数
(图片来源网络,侵删)

为控制台应用程序设置启动参数

这是最常见的需求,当你想用不同的配置或数据多次运行同一个程序时,这个功能非常有用。

假设我们有一个简单的控制台程序 MyConsoleApp,它的功能是打印出所有传入的启动参数。

C# 代码示例 (Program.cs)

using System;
namespace MyConsoleApp
{
    class Program
    {
        static void Main(string[] args) // args 就是存放参数的数组
        {
            Console.WriteLine("程序启动,共接收到 {0} 个参数。", args.Length);
            // 检查是否有参数传入
            if (args.Length == 0)
            {
                Console.WriteLine("没有启动参数。");
            }
            else
            {
                Console.WriteLine("所有参数如下:");
                // 遍历并打印每个参数
                for (int i = 0; i < args.Length; i++)
                {
                    Console.WriteLine($"参数 [{i}]: {args[i]}");
                }
            }
        }
    }
}

如何设置和运行?

有三种主要方法:

visual studio 输入参数
(图片来源网络,侵删)

使用 Visual Studio 的“项目属性”设置(最常用)

这是最直接、最方便的方法,适合在开发调试时使用。

  1. 打开解决方案资源管理器:在 Visual Studio 右侧,找到你的项目。

  2. 打开项目属性:右键点击你的项目(MyConsoleApp),选择 “属性”

  3. 导航到“调试”选项卡:在弹出的属性窗口中,选择左侧的 “调试” 选项卡。

    visual studio 输入参数
    (图片来源网络,侵删)
  4. 在“启动选项”中输入参数

    • 找到名为 “启动选项” 的区域。
    • “命令行参数” 文本框中,输入你想要传递的参数。
    • 多个参数之间用空格隔开,如果你的参数本身包含空格,需要用双引号 将它括起来。

    示例: 假设我们想传入三个参数:"Hello World", --file, "C:\data\test.txt"。 你应该在文本框中输入:

    "Hello World" --file "C:\data\test.txt"
  5. 运行程序

    • F5 或点击工具栏的 “启动” 按钮(绿色三角形)。
    • 程序会在控制台窗口中输出你设置的参数内容。

    输出结果

    程序启动,共接收到 3 个参数。
    所有参数如下:
    参数 [0]: Hello World
    参数 [1]: --file
    参数 [2]: C:\data\test.txt

直接在 Visual Studio 的“调试”窗口中输入

这个方法适合临时性的、一次性的参数测试。

  1. 在 Visual Studio 中,点击顶部菜单栏的 “调试” -> “启动但不调试” (或者直接按 Ctrl + F5)。
  2. 程序会启动,并弹出一个黑色的控制台窗口,同时会暂停在 Console.ReadKey() 或类似的地方(如果有的话)。
  3. 在 Visual Studio 的 “即时窗口” (Immediate Window) 或 “输出” 窗口中,通常没有直接输入命令行参数的地方,所以这种方法不常用,更推荐使用方法一方法三

使用 dotnet run 命令(适合 .NET Core / .NET 5+)

如果你使用的是命令行或终端,或者喜欢通过命令行操作,这是最佳方式。

  1. 打开项目所在的文件夹:在文件资源管理器中,导航到你的 .csproj 文件所在的目录。

  2. 打开命令提示符或 PowerShell:在该目录下打开终端。

  3. 运行命令: 使用 dotnet run 命令,并在后面加上 和你的参数。 用于告诉 dotnet 命令,后面的内容是传递给应用程序的参数,而不是 dotnet 命令本身的参数。

    示例

    dotnet run -- "Hello World" --file "C:\data\test.txt"
  4. 查看输出:你会在终端中看到与方法一完全相同的输出结果。


在代码中为函数/方法传递参数

这是编程的基础,指的是在调用一个方法时,向它提供具体的值(实参 Actual Arguments)。

示例

我们有一个计算矩形面积的方法,它需要两个输入参数:widthheight

C# 代码示例

using System;
namespace MyConsoleApp
{
    class Program
    {
        static void Main(string[] args)
        {
            // 调用 CalculateArea 方法,并传入两个整数作为参数
            int area1 = CalculateArea(10, 5); 
            Console.WriteLine("宽为 10,高为 5 的矩形面积是: " + area1);
            // 可以使用变量作为参数
            int width = 20;
            int height = 15;
            int area2 = CalculateArea(width, height);
            Console.WriteLine($"宽为 {width},高为 {height} 的矩形面积是: {area2}");
        }
        /// <summary>
        /// 计算矩形面积
        /// </summary>
        /// <param name="width">矩形的宽度</param>
        /// <param name="height">矩形的高度</param>
        /// <returns>矩形的面积</returns>
        static int CalculateArea(int width, int height) // 这里的 width 和 height 是形参
        {
            return width * height;
        }
    }
}

输出结果

宽为 10,高为 5 的矩形面积是: 50
宽为 20,高为 15 的矩形面积是: 300

关键点

  • 形参:方法定义中括号里的变量,如 CalculateArea(int width, int height) 中的 widthheight,它们是占位符。
  • 实参:调用方法时实际传递的值,如 CalculateArea(10, 5) 中的 105,它们可以是具体的值、变量,甚至是另一个方法调用的返回值。
  • 参数匹配:调用时,实参的数量、类型和顺序必须与方法定义中的形参相匹配。

场景 目的 设置/操作方法 适用情况
启动参数 在程序启动时从外部向主程序 (Main 方法) 传递数据 项目属性 -> 调试 -> 命令行参数 (最常用)
dotnet run -- <args> (命令行)
直接在命令行运行 .exe 文件
配置文件路径、启动模式、用户ID等需要在程序运行时确定的信息。
函数参数 在代码内部调用一个方法时,向它传递数据 在方法名后的括号内提供值或变量 几乎所有函数式编程,如计算、数据操作、事件处理等。

希望这个详细的解释能帮助你完全理解在 Visual Studio 中处理输入参数的各种方式!

-- 展开阅读全文 --
头像
iPhone7与6s参数差异究竟在哪?
« 上一篇 12-08
boom band 智能手环
下一篇 » 12-08

相关文章

取消
微信二维码
支付宝二维码

最近发表

标签列表

目录[+]