使用控制台应用程序参数作为路径 C# 时出现意外字符 " 错误
Unexpected character " error when using console application args as path c#
我正在尝试使用我的控制台应用程序参数作为路径来显示文件夹中的所有目录和文件。这些是我的命令行参数:"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]);
}
}
// 这不起作用,它给了我一个: "Unexpected character "" 。如果我添加 @
我会得到相同的结果
但出于某种原因,这确实有效:
string[] directories = Directory.GetDirectories(@"C:\Users\arnec\Documents");
string[] files = Directory.GetFiles(@"C:\Users\arnec\Documents");
如果您在十六进制编辑器中打开此文件,您会在这一行的末尾看到:
string[] files = Directory.GetFiles(args[0]);
值:
3B -> ;
E2 80 AA -> hidden character
0D 0A -> next line
你必须删除这个字符。
我将您的代码复制并粘贴到新的控制台项目中。
我正在尝试使用我的控制台应用程序参数作为路径来显示文件夹中的所有目录和文件。这些是我的命令行参数:"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]);
}
}
// 这不起作用,它给了我一个: "Unexpected character "" 。如果我添加 @
我会得到相同的结果但出于某种原因,这确实有效:
string[] directories = Directory.GetDirectories(@"C:\Users\arnec\Documents");
string[] files = Directory.GetFiles(@"C:\Users\arnec\Documents");
如果您在十六进制编辑器中打开此文件,您会在这一行的末尾看到:
string[] files = Directory.GetFiles(args[0]);
值:
3B -> ;
E2 80 AA -> hidden character
0D 0A -> next line
你必须删除这个字符。
我将您的代码复制并粘贴到新的控制台项目中。