Bạn có thể sử dụng một cái gì đó như thế này
string[] extensions = { "jpg", "txt", "asp", "css", "cs", "xml" };
string[] dizin = Directory.GetFiles(@"c:\s\sent", "*.*")
.Where(f => extensions.Contains(f.Split('.').Last().ToLower())).ToArray();
Hoặc sử dụng an toàn hơn FileInfo.Extension
chút so với String.Split
nhưng có thể chậm hơn
string[] extensions = { ".jpg", ".txt", ".asp", ".css", ".cs", ".xml" };
string[] dizin = Directory.GetFiles(@"c:\s\sent", "*.*")
.Where(f => extensions.Contains(new FileInfo(f).Extension.ToLower())).ToArray();
Hoặc như juharr nêu bạn cũng có thể sử dụng System.IO.Path.GetExtension
string[] extensions = { ".jpg", ".txt", ".asp", ".css", ".cs", ".xml" };
string[] dizin = Directory.GetFiles(@"c:\s\sent", "*.*")
.Where(f => extensions.Contains(System.IO.Path.GetExtension(f).ToLower())).ToArray();
Nguồn
2013-01-15 02:47:58
Hoặc sử dụng 'Path.GetExtension' – juharr
vâng, có rất nhiều cách khác nhau, chỉ là bất cứ điều gì làm việc tốt nhất cho OP, một chút của một sự xấu hổ 'Directory.GetFiles' không cho phép phần mở rộng mutiple –