tôi đi qua đây tìm kiếm một phương pháp để làm điều này, nơi loại trừ có thể sử dụng các quy tắc mẫu tìm kiếm chứ không chỉ logic kiểu EndWith.
ví dụ: Trình tìm kiếm ký tự đại diện mẫu tìm kiếm phù hợp:
- * (dấu sao) 0 hoặc nhiều ký tự ở vị trí đó.
- ? (dấu chấm hỏi) Không hoặc một ký tự ở vị trí đó.
Điều này có thể được sử dụng cho phần trên như sau.
string dir = @"C:\Temp";
var items = Directory.GetFiles(dir, "*.*").Except(Directory.GetFiles(dir, "*.xml"));
Hoặc để loại trừ các mục có thể được bao gồm.
string dir = @"C:\Temp";
var items = Directory.GetFiles(dir, "*.txt").Except(Directory.GetFiles(dir, "*HOLD*.txt"));
Duplicate điều này: http://stackoverflow.com/questions/163162/can-you-call-directory-getfiles-with-multiple-filters –
Không, không hẳn là một người bị mắc mưu. – Graviton
Bản sao có thể có của [C# - Lấy danh sách các tệp trừ những tệp bị ẩn] (http://stackoverflow.com/questions/2418270/c-sharp-get-a-list-of-files-excluding-those-that -are-hidden) – TarmoPikaro