Tôi đang cố chuyển nhiều đường dẫn dưới dạng đối số cho ứng dụng bảng điều khiển nhưng đang gặp lỗi "Ký tự không hợp lệ trong đường dẫn". Có vẻ như có điều gì đó đang nhầm lẫn hai ký tự cuối cùng của đối số "C:\test\"
cho một dấu trích dẫn kép thoát.Tại sao C# xuất hiện để loại bỏ một phần đối số dòng lệnh?
Ví dụ, nếu tôi tạo ra một ứng dụng mới có sản phẩm nào console trong C# như sau:
static void Main(string[] args)
{
Console.WriteLine(args[0]);
Console.ReadLine();
}
và, dưới Project Properties -> Debug tôi thêm một đối số dòng lệnh như vậy:
sau đó đầu ra của tôi trông như thế này:
Nếu giá trị đang được đánh giá/bỏ thoát, tại sao \t
không trở thành tab?
Nếu giá trị KHÔNG được đánh giá/không thoát, tại sao \"
trở thành báo giá kép?
(Lưu ý: Tôi biết tôi có thể làm việc này bằng cách, ví dụ, cắt tỉa đuôi backslashes vv Tôi đang yêu cầu giúp đỡ tìm hiểu lý do tại sao những lập luận dường như phần đánh giá)
http://stackoverflow.com/questions/17168961/how-do-i-escape-in-verbatim-string và http://stackoverflow.com/questions/15932279/escaping-command-line-arguments- đường dẫn in-c-sharp-for-urls-và-local-and-network- –