2015-02-24 12 views
0

我有許多以相同名稱開頭的文件夾(大約300個),如何僅顯示以選中的列表框中的特定字符串開頭的文件夾,而不是顯示全部檢查列表框中的文件夾(其煩人搜索300個文件以找到想要的文件)選擇以c#中的相關字符串開頭的文件夾

在此先感謝。

+3

歡迎來到Stack Overflow!請花一點時間仔細查看此問題*:[Ask] – Plutonix 2015-02-24 01:48:05

回答

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()String.ToLower()方法感興趣。

1

您可以使用StartsWith方法這樣

var directories = Directory.GetDirectories("YourPath", 
        "*.*", 
        SearchOption.AllDirectories).Where(f=> f.StartsWith("YourSharedFolderName")) 
        .ToList(); 

希望這有助於。

+0

不包含'where'和'沒有擴展方法'的定義,其中'可以找到'System.Array'類型的第一個參數(缺少a使用指令或程序集引用?)我該如何解決這個問題? – user53 2015-02-24 05:11:45

+0

糾正了錯誤,但它似乎無效! – user53 2015-02-24 08:51:29

+0

您需要將System.Linq添加到使用部分,還可以提供有關爲什麼您認爲它不起作用的更多詳細信息? – 2015-02-24 22:41:33

相關問題