Multiple file-extensions searchPattern for System.IO.Directory.GetFiles

前端 未结 20 2579
名媛妹妹
名媛妹妹 2020-11-27 11:08

What is the syntax for setting multiple file-extensions as searchPattern on Directory.GetFiles()? For example filtering out files

20条回答
  •  鱼传尺愫
    2020-11-27 11:48

    Instead of the EndsWith function, I would choose to use the Path.GetExtension() method instead. Here is the full example:

    var filteredFiles = Directory.EnumerateFiles( path )
    .Where(
        file => Path.GetExtension(file).Equals( ".aspx", StringComparison.OrdinalIgnoreCase ) ||
                Path.GetExtension(file).Equals( ".ascx", StringComparison.OrdinalIgnoreCase ) );
    

    or:

    var filteredFiles = Directory.EnumerateFiles(path)
    .Where(
        file => string.Equals( Path.GetExtension(file), ".aspx", StringComparison.OrdinalIgnoreCase ) ||
                string.Equals( Path.GetExtension(file), ".ascx", StringComparison.OrdinalIgnoreCase ) );
    

    (Use StringComparison.OrdinalIgnoreCase if you care about performance: MSDN string comparisons)

提交回复
热议问题