动态添加LINQ Where子句

时间:2018-10-09 09:16:38

标签: c# visual-studio

我有以下代码可从目录获取文件和文件夹:

var files = Directory.EnumerateFiles(sourceDIR.Text, "*.*", SearchOption.AllDirectories).Where(s => s.EndsWith(".mp4") || s.EndsWith(".mov"));

但是,我有一个具有要循环浏览的文件扩展名的comboBox,如何将它们动态添加到where子句中?

2 个答案:

答案 0 :(得分:2)

要从组合框中获取扩展名列表,则可以使用

.Where(s => ListOfExtensions.Contains(Path.GetExtension(s)));

答案 1 :(得分:0)

您可以编写String扩展类

INSERT INTO `table1` (`col1`, `col2`, `col3`, `col4`) VALUES ('1', '1', '1',STR_TO_DATE('15-06-2017','%Y-%m-%d'))

然后像这样使用它:

internal static class StringFileExtension
{
    public static bool EndsWithFromList(this string fileInfo, List<string> fileExtensions)
    {
        foreach (var extension in fileExtensions)
        {
            if (fileInfo.EndsWith(extension))
                return true;
        }

        return false;
    }
}

不要忘记在使用位置包含扩展名命名空间