2014-10-16 140 views
2

下面是一些代碼,我修改,最初從這裏複製:System.IO.FileInfo不區分大小寫

http://msdn.microsoft.com/en-us/library/bb546159.aspx

我正在尋找一個目錄文件名和除了我想不出它工作正常如何使它區分大小寫

System.IO.DirectoryInfo dir = new System.IO.DirectoryInfo(startFolder); 

// This method assumes that the application has discovery permissions 
// for all folders under the specified path. 
IEnumerable<System.IO.FileInfo> fileList = dir.GetFiles("*.*", System.IO.SearchOption.AllDirectories); 

//Create the query 
IEnumerable<System.IO.FileInfo> fileQuery = 
    from file in fileList 
    where file.Extension == ".pdf" 
    where file.Name.Contains(searchString, StringComparison.OrdinalIgnoreCase) 
    orderby file.Name 
    select file; 

此行包含錯誤:

where file.Name.Contains(searchString, StringComparison.OrdinalIgnoreCase) 

的錯誤是:

Error 1 'string' does not contain a definition for 'Contains' and the best extension method overload 'System.Linq.ParallelEnumerable.Contains<TSource>(System.Linq.ParallelQuery<TSource>, TSource, System.Collections.Generic.IEqualityComparer<TSource>)' has some invalid arguments C:\Users\k5opjdjc\Documents\Visual Studio 2013\Projects\Test_File_Search\Test_File_Search\Controllers\SearchController.cs 30 23 Test_File_Search 

...我已經尋找了幾個小時,現在並不能找到答案。如果有人能夠幫助,我會非常感激。

回答

2

這應該做的伎倆:

where file.Name.IndexOf(searchString, StringComparison.CurrentCultureIgnoreCase) >= 0 

IndexOf返回-1時,沒有匹配的子被發現)

+0

是的,就是這樣。謝謝! – Jordan 2014-10-16 20:37:41