我有这个功能,你将路径传递给包含文件夹名称的目录,例如UPDATE_20162406_x.xx(版本),文件将始终具有相同的开头但日期和版本将不同,我需要什么现在是将UPDATE_someDATE_x.xx的路径传递给一个函数,该函数检查是否存在具有相同版本的任何其他文件夹,这是我需要更改的查询:
String categoriesForItem = getCategories();
String [] categoriesForItems = categoriesForItem.split(",");
for(String cat : categoriesForItems) {
doc.add(new StringField("categories", cat , Field.Store.YES));
}
我几乎不知道linq,我无法编写正确的查询来执行此操作。 任何帮助都是相关的。谢谢
答案 0 :(得分:1)
这应该有效:
public static bool NewestUpdate(string Directoria, Version queryVersion)
{
Version version = null;
var foundFolder = (from d in new DirectoryInfo(Directoria).EnumerateDirectories()
where d.Name.ToLower().StartsWith("update_")
let token = d.Name.Split('_')
let vers = token.Length == 3 && Version.TryParse(token[2], out version) ? version : null
where vers == queryVersion
select d).FirstOrDefault();
string directory = foundFolder?.FullName;
return foundFolder != null;
}