Menentukan Sifat Laluan: Fail atau Direktori?
Dalam bidang manipulasi fail dan direktori, menjadi penting untuk membezakan antara entiti ini. Keperluan ini timbul apabila pengguna berinteraksi dengan TreeView, memilih sama ada fail atau direktori untuk operasi tertentu. Untuk memenuhi keperluan ini, kaedah diperlukan untuk memastikan sifat laluan yang dipilih.
Pendekatan semasa menggunakan kaedah Directory.GetDirectories untuk mengenal pasti direktori. Jika IO Exception ditemui, laluan itu diandaikan sebagai fail. Walaupun berfungsi, kaedah ini mungkin bukan yang paling berkesan.
Meneroka Alternatif
Rangka kerja .NET memang menawarkan penyelesaian yang lebih mudah dan ringkas: Fail. GetAttributes. Kaedah ini mendapatkan semula atribut yang dikaitkan dengan laluan. Dengan meneliti bendera FileAttributes, adalah mungkin untuk membezakan sifat sebenar laluan itu.
// Get file attributes FileAttributes attr = File.GetAttributes(@"c:\Temp"); // Check for directory attribute if ((attr & FileAttributes.Directory) == FileAttributes.Directory) { // Path is a directory } else { // Path is a file }
Untuk .NET 4.0 dan lebih baharu, pendekatan yang lebih ringkas boleh digunakan:
// Get file attributes FileAttributes attr = File.GetAttributes(@"c:\Temp"); // Check for directory attribute using HasFlag method if (attr.HasFlag(FileAttributes.Directory)) { // Path is a directory } else { // Path is a file }
Dengan memanfaatkan pendekatan ini, kaedah anda boleh menentukan dengan tepat sama ada laluan tertentu mewakili fail atau direktori, membolehkan interaksi pengguna yang lancar dengan TreeView.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menentukan dengan Cekap jika Laluan Mewakili Fail atau Direktori dalam .NET?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!