[英]C# - Unhandled Exception - Illegal Characters in Path
我现在只测试一些代码,虽然在调用StartRemoveDuplicate(编译时)抛出异常时,抱怨非法字符:
我的代码如下:
class Program
{
static void Main(string[] args)
{
foreach (string exename in System.IO.File.ReadAllLines("test.txt"))
{
Process.Start("test.exe", "\"" + exename + "\"").WaitForExit();
}
StartRemoveDuplicate();
}
private static void RemoveDuplicate(string sourceFilePath, string destinationFilePath)
{
var readLines = File.ReadAllLines(sourceFilePath, Encoding.Default);
File.WriteAllLines(destinationFilePath, readLines.Distinct().ToArray(), Encoding.Default);
}
private static void StartRemoveDuplicate()
{
RemoveDuplicate("C:\test.txt", "C:\test2.txt");
}
}
尝试在字符串之前使用@:
@"C:\test.txt"
或者说出“\\”的特征
"C:\\test.txt"
反斜杠被认为是C#字符串中的特殊字符,通常用于转义其他字符。 所以你可以告诉它通过在引号之前用@
前缀文字来正常处理反斜杠:
RemoveDuplicate(@"C:\test.txt", @"C:\test2.txt");
或者,您可以使用双反斜杠来逃避它:
RemoveDuplicate("C:\\test.txt", "C:\\test2.txt");
C:\\ test中的\\ t可能被视为标签。
使用Path.Combine组合文件路径的各个部分。 它处理“\\”字符的细节。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.