有一個類:如何比較並使用Linq從字符串中選擇值?
class filedate
{
public int id;
public string fname;
}
填寫我的名單與價值觀:
List<filedate> List = ReadList(sqlFiles);
string[] FolderFiles = System.IO.Directory.GetFiles(path2Copy);
試圖讓結果:
var results = List.Where(filedate =>
FolderFiles.Any(x=>Path.GetFileNameWithoutExtension(x) ==
Path.GetFileNameWithoutExtension(filedate.fname)));
我在List
和FolderFiles
相同的文件,但得到在results
沒有結果。我是Linq的新手。哪裏有問題?
更新: 列表:(計數)> 1000 例如: < 1023, 'tr_F2opervag_2808_1644.dat'>
FolderFiles例如: 「\\ domain.corp.dns \共享\文件夾\ tr_F2opervag_2808_1644.dat「
更新2: 找到我的錯誤!與交叉點評論是有幫助的!此代碼正在工作:
var results = List.Where(
(filedate x) =>
{
return ! FolderFiles.Any(xxx =>
Path.GetFileNameWithoutExtension(xxx) ==
Path.GetFileNameWithoutExtension(x.fname));
});
你聽說過'System.IO.FileInfo'嗎? [docs](http://msdn.microsoft.com/en-us/library/system.io.fileinfo.aspx) – ChaosPandion
你的代碼似乎是正確的,你會顯示示例輸入? –
你對結果做什麼?你循環了嗎?你把它存儲在一個列表或數組中? – ChaosPandion