我曾與一個名爲如何檢查文件名包含在C#中的子
- myfileone
- myfiletwo
- myfilethree
文件的文件夾我如何檢查文件 「myfilethree」 是當下。
我的意思是除IsFileExist()
方法外,還有另一種方法,即像filename包含子字符串「three」?
我曾與一個名爲如何檢查文件名包含在C#中的子
文件的文件夾我如何檢查文件 「myfilethree」 是當下。
我的意思是除IsFileExist()
方法外,還有另一種方法,即像filename包含子字符串「three」?
字符串:
bool contains = Directory.EnumerateFiles(path).Any(f => f.Contains("three"));
不區分大小寫字符串:
bool contains = Directory.EnumerateFiles(path).Any(f => f.IndexOf("three", StringComparison.OrdinalIgnoreCase) > 0);
區分大小寫的比較:
bool contains = Directory.EnumerateFiles(path).Any(f => String.Equals(f, "myfilethree", StringComparison.OrdinalIgnoreCase));
獲取文件名匹配通配符標準:
IEnumerable<string> files = Directory.EnumerateFiles(path, "three*.*"); // lazy file system lookup
string[] files = Directory.GetFiles(path, "three*.*"); // not lazy
這工作。由於Abatischev – sreeprasad
@SREEPRASADGOVINDANKUTTY很高興幫助:) – abatishchev
很好的答案,但我怎麼會這樣做2列表?我有一個列表
如果我正確理解你的問題,你可以不喜歡
Directory.GetFiles(directoryPath, "*three*")
或
Directory.GetFiles(directoryPath).Where(f => f.Contains("three"))
東西這兩會給你的所有文件的所有名稱與three
在它。
我不熟悉IO,但也許這會工作?需要using System.Linq
System.IO.Directory.GetFiles("PATH").Where(s => s.Contains("three"));
編輯:請注意,這將返回字符串數組。
如果你有一個可行的解決方案(即'File.Exists'),你能解釋更多關於你想要做什麼,導致你需要一個替代解決方案嗎? –