使用Linq c#查找具有相同名称的文件夹

时间:2016-06-24 08:56:45

标签: c# linq path directory

我有这个功能,你将路径传递给包含文件夹名称的目录,例如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,我无法编写正确的查询来执行此操作。 任何帮助都是相关的。谢谢

1 个答案:

答案 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;
}