选择以c#中的特定字符串开头的文件夹

时间:2015-02-24 01:46:54

标签: c# search windows-forms-designer directory checkedlistbox

我有许多以相同名称开头的文件夹(大约300个),如何只显示那些以选中列表框中的特定字符串开头的文件夹,而不是显示选中列表框中的所有文件夹(令人讨厌搜索300个文件以找到所需的文件)

提前致谢。

2 个答案:

答案 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()方法感兴趣。