2012-06-07 25 views
0

這裏是我的代碼:我在扣除特定擴展名的麻煩

DirectoryInfo dirInfoWO = new DirectoryInfo( 
    Server.MapPath("Clients/" + 
GetDistFolderName((int)Session[ "Distid" ]) + "/Work_Orders")); 

ListViewWorkOrders.DataSource = dirInfoWO.GetFiles(); 
ListViewWorkOrders.DataBind(); 

這是上市與擴展.db我需要排除那些作爲一個選項文件。我看了其他使用LINQ的答案。但我不知道如何讓這些工作。

有沒有人有容易遵循我的答案嗎?

回答

2
ListViewWorkOrders.DataSource = 
    dirInfoWO.GetFiles().Where(fInfo=> !fInfo.Name.EndsWith(".db")); 

ListViewWorkOrders.DataSource = 
    dirInfoWO.GetFiles().Where(fInfo=> !fInfo.Extension == ".db"); 
+0

編譯器錯誤消息:CS1061: 'System.IO.FileInfo' 不包含關於 '的endsWith' 和沒有擴展方法的定義 '的endsWith' 接受第一個參數可以找到類型'System.IO.FileInfo'(你是否缺少使用指令或程序集引用?) –

+0

對,它們是2個GetFiles()方法在不同的程序集中,我選錯了。一個返回一個字符串[],你需要一個FileInfo []。檢查了它。 –

+0

好的。我添加了這個,現在它工作。非常感謝你! :) –

1
ListViewWorkOrders.DataSource = 
    dirInfoWO.GetFiles().Where(p => Path.GetExtension(p.Name) != ".db"); 
+0

編譯器錯誤消息:CS1061:'System.IO.FileInfo'不包含'EndsWith'的定義,並且沒有擴展方法'EndsWith'接受類型'System.IO.FileInfo'的第一個參數可以被找到(是你錯過了使用指令或程序集引用?) –

+0

@JamesWilson我的示例中不包含EndsWith –

+0

對不起,這裏是正確的錯誤消息。編譯器錯誤消息:CS1502:'System.IO.Path.GetExtension(string)'的最佳重載方法匹配有一些無效參數 –