意外字符";将控制台应用程序参数用作路径c#时出错

本文关键字:路径 出错 参数 应用程序 字符 quot 控制台 意外 | 更新日期: 2023-09-27 18:28:39

我正试图使用我的控制台应用程序args作为路径来显示文件夹中的所有目录和文件。这些是我的命令行参数:"C:''Users''arnec''Documents"。这是我的代码目前看起来像:

    static void Main(string[] args)
    {
        string[] directories = Directory.GetDirectories(args[0]);
        string[] files = Directory.GetFiles(args[0]);‪
        for (int i = 0; i < directories.Length; i++)
        {
            Console.WriteLine(directories[i]);
        }
        for (int i = 0; i < files.Length; i++)
        {
            Console.WriteLine(files[i]);
        }
    }

//这不起作用,它给了我一个:"意外字符"。如果我添加@,我会得到同样的结果

但出于某种原因,这确实有效:

string[] directories = Directory.GetDirectories(@"C:'Users'arnec'Documents");
    string[] files = Directory.GetFiles(@"C:'Users'arnec'Documents");

意外字符";将控制台应用程序参数用作路径c#时出错

如果您在十六进制编辑器中打开此文件,您可以在此行的末尾看到:

string[] files = Directory.GetFiles(args[0]);‪

值:

3B -> ;
E2 80 AA -> hidden character
0D 0A -> next line

你必须删除这个字符。

我将您的代码复制并粘贴到一个新的控制台项目中。