Tôi đang kế thừa bảo trì trên một số ứng dụng bảng điều khiển được nhập, tự nhiên, với static void Main(string[] args)
. Tuy nhiên, mã bỏ qua mảng args
và thay vào đó đọc các tham số dòng lệnh từ System.Environment.CommandLine
.Sự khác biệt giữa (string [] args) và System.Environment.CommandLine là gì?
Có sự khác biệt về chức năng không?
Nội dung trông giống hệt nhau. Nếu có bất cứ điều gì, tôi sẽ nghi ngờ một hit hiệu suất phút bằng cách gọi System.Environment.CommandLine
(nhưng không đủ rằng tôi sẽ bao giờ quan tâm hoặc quan tâm đủ để đo lường).
UPDATE: Tôi nghi ngờ rằng System.Environment.CommandLine
phải chứa đường dẫn thực thi, nhưng tôi đã không nhìn thấy nó ... bởi vì tôi đang tìm kiếm tại địa điểm sai. Mã ALSO có string[] arrCmdLine = System.Environment.GetCommandLineArgs();
.... System.Environment.CommandLine.ToLower()
được kiểm tra sự hiện diện của "gỡ rối" trong khi tất cả các tham số khác được trích xuất từ GetCommandLineArgs()
và tôi đã tâm thần làm xáo trộn hai khi tôi đang đi "tại sao không chỉ sử dụng args[]
?"
Trong nhiều năm, tôi đã khổ sở theo cách tốt nhất để phân tích cú pháp dòng lệnh args, khi tất cả cùng là "đặt chúng theo đúng thứ tự!" [jk]