You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

命令行无法获取args[]的原因及修复方法咨询

问题原因及修复方案

核心问题原因

  1. Console.WriteLine输出无效:代码里Console.WriteLine(" length -> ", args.Length)这类写法不会输出变量值,因为Console.WriteLine需要用{0}这类占位符才能将第二个参数填充到字符串中,当前写法只会打印固定文本,导致你误以为没获取到参数。
  2. 参数匹配逻辑错误:传入--title_input=xxx时,args[i].Split('=')[0]得到的是--title_input(不带末尾等号),但代码判断条件是title_cm == "--title_input=",永远无法匹配,所以title变量始终为空。
  3. 无索引越界容错:如果传入的参数不含=,Split('=')[1]会直接抛出异常。

修复步骤

  1. 修正输出语句:给Console.WriteLine添加占位符,确保变量能正常显示,示例:
    Console.WriteLine("length -> {0}", args.Length);
    Console.WriteLine(">>>>>>>>> {0}", title_cm);
    
  2. 调整参数匹配逻辑:将判断条件改为匹配不带等号的前缀:
    if (title_cm == "--title_input")
    
  3. 添加容错处理:Split后检查数组长度,避免无等号参数导致的异常:
    string[] parts = args[i].Split('=');
    if (parts.Length >= 2)
    {
        title = parts[1];
        Console.WriteLine("====> {0}", title);
    }
    

修正后的完整代码

namespace Kautohelper_OpenDevtool
{
    internal class Program
    {
        public static void Main(string[] args)
        {
            string title = "";
            if (args.Length > 0)
            {
                Console.WriteLine("length -> {0}", args.Length);
                for (int i = 0; i < args.Length; i++)
                {
                    string[] parts = args[i].Split('=');
                    string title_cm = parts[0];
                    Console.WriteLine(">>>>>>>>> {0}", title_cm);
                    
                    if (title_cm == "--title_input" && parts.Length >= 2)
                    {
                        title = parts[1];
                        Console.WriteLine("====> {0}", title);
                    }
                }
            }
            Console.WriteLine("----> {0}", title);
        }
    }
}

额外注意事项

命令行传参时确保格式正确:

  • 普通参数直接输入:你的程序.exe --title_input=测试标题
  • 参数值含空格时用引号包裹:你的程序.exe --title_input="带空格的标题"

内容的提问来源于stack exchange,提问作者XmFocus

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.15 05:09:53