我有许多以相同名称开头的文件夹(大约300个),如何只显示那些以选中列表框中的特定字符串开头的文件夹,而不是显示选中列表框中的所有文件夹(令人讨厌搜索300个文件以找到所需的文件)
提前致谢。
答案 0 :(得分:1)
您可以像这样使用StartsWith方法
var directories = Directory.GetDirectories("YourPath",
"*.*",
SearchOption.AllDirectories).Where(f=> f.StartsWith("YourSharedFolderName"))
.ToList();
希望得到这个帮助。
答案 1 :(得分:0)
您可以使用String.Contains()
方法解决问题
返回一个值,该值指示指定的子字符串是否出现在此字符串中。
参见给定的例子。在这里,我假设您的文件夹存储为String
List<String> folders = new List<string>(); // Assume your folders contai inside a List<>
// Example with dummy data
folders.Add("Testfolder1");
folders.Add("Myfolder2");
folders.Add("Testfolder3");
folders.Add("Bestfolder4");
folders.Add("Okayfolder8");
// iterate through the List and extract folder names with certain string
foreach (String item in folders)
{
if (item.Contains("Test"))
{
// Will only extract names which contains string Test
Console.WriteLine(item);
}
}
请注意,Contains()
区分大小写。因此,对于需要不区分大小写搜索的情况,您可能对String.ToUpper()
OR String.ToLower()
方法感兴趣。