Tôi muốn lấy đường dẫn trên Windows 32 bit hệ thống32
Path, lấy đường dẫn trên Windows 64-bit SysWOW64
. Môi trường.GetFolderPath(Môi trường.Đặc biệtFolder.System)
Và Môi trường.SystemDirectory
Hoạt động tốt. Tôi nên thích và sử dụng cái nào hơn? Tôi đang sử dụng .NET 2.0
Bạn có thể thích sử dụng
Môi trường.SystemDirectory
Điều này là do .NET Framework đã biết bạn cần thư mục nào và đằng sau hậu trường, nó gọi trực tiếp
Win32Native.GetSystemDirectory
từ dưới lên kernell32.dll
..(sau đó thực hiện kiểm tra quyền nhanh chóng)
Nếu bạn sử dụng,
Môi trường.GetFolderPath
Sau đó, bạn phải chuyển vào một enum và đằng sau hậu trường,GetFolderPath
Cần phải kiểm tra tính hợp lệ của bảng liệt kê nhanh chóng. Sau khi thực hiện xong, nó sẽ gọi bản địa
Win32Native.SHGetFolderPath
Truyền vào một số nguyên tương đương với loại thư mục mong muốn.
Điều này xuất phát từ bản địa shfolder.dll
Phương thức cơ bản được gọi và phương thức này sẽ lại thực hiện các kiểm tra/trường hợp tương tự dựa trên thư mục được yêu cầu và cuối cùng gọi logic thư mục hệ thống.
Dựa vào 2 quá trình trên,
Môi trường.SystemDirectory
Sẽ hoạt động tốt hơn cho bạn và có thể nhanh hơn. (Tôi chưa thực sự đo nó)
Về sự khác biệt giữa Environment.GetFolderPath(Environment. SpecialFolder.System) và Environment.SystemDirectory trong thư mục C# - System32, chúng tôi đã tìm thấy một câu hỏi tương tự trên Stack Overflow: https://stackoverflow.com/questions/23327711/
Tôi là một lập trình viên xuất sắc, rất giỏi!