|
|
1
456
对于.NET 4.0及更高版本,
对于早期版本的.NET,
编辑: 请阅读评论。改进 Paul Farry 建议,以及内存/性能问题 Christian.K 指出两者都很重要。 |
|
|
2
52
这个怎么样?
我在这里(评论中)找到它: http://msdn.microsoft.com/en-us/library/wz42302f.aspx |
|
|
3
29
如果要检查的扩展名列表很大,可以使用以下内容。我不想创建很多或语句,所以我修改了Lette写的内容。
|
|
|
4
26
对于
你可以:
但真正的好处是
如果你不需要把它们变成球状物(即
基于以下LinqPad测试的性能评估(注:
(从“副本”转发和扩展,因为该问题未明确要求LINQ: Multiple file-extensions searchPattern for System.IO.Directory.GetFiles ) |
|
|
5
14
我知道这是个老问题,但林肯:(.net40+)
|
|
|
6
11
另一种使用LINQ的方法,但不必返回所有内容并在内存中对其进行筛选。
实际上有两个电话
|
|
|
7
8
还有一种下降解决方案,似乎没有任何内存或性能开销,而且非常优雅:
|
|
|
8
7
不。尝试以下操作:
取自: http://blogs.msdn.com/markda/archive/2006/04/20/580075.aspx |
|
|
9
6
让
然后
或
|
|
|
10
5
我不能用
下面的代码不区分大小写(因此
|
|
|
11
4
以下函数搜索由逗号分隔的多个模式。您还可以指定排除,例如:“!web.config将搜索所有文件并排除“web.config”。图案可以混合。
用途:
|
|
|
12
4
|
|
|
13
3
只是找到了另一种方法。仍然不是一个手术,而是把它扔出去看看别人怎么想。
|
|
|
14
3
怎么样
|
|
|
15
2
将扩展名设置为一个字符串,即“.mp3.jpg.wma.wmf”,然后检查每个文件是否包含所需的扩展名。 这与.NET 2.0一起工作,因为它不使用Linq。
这种方法的优点是,您可以在不编辑代码的情况下添加或删除扩展,即添加PNG图像,只需编写myExtensions=“.jpg.mp3.png”。 |
|
|
16
2
|
|
|
17
2
NOP…我相信你必须尽可能多地调用你想要的文件类型。 我将自己创建一个函数,在具有所需扩展名的字符串上获取一个数组,然后在该数组上迭代进行所有必要的调用。该函数将返回与我发送的扩展名匹配的文件的通用列表。 希望它有帮助。 |
|
18
2
在.NET 2.0中(无LINQ):
然后使用它:
|
|
|
19
2
|
|
|
20
1
我有同样的问题,找不到正确的解决方案,所以我写了一个名为getfiles的函数:
此函数将调用
例如,调用如下函数:
编辑:要获取具有多个扩展名的文件,请使用此文件:
例如,调用如下函数:
|
|
|
21
1
我想知道为什么有这么多的“解决方案”张贴? 如果我对getfiles如何工作的新手理解是正确的,那么只有两个选项,上面的任何解决方案都可以归结为:
在我看来,选项1)更好,但是在C:\这样的文件夹上使用searchoption.alldirectories会占用大量内存。
这只会导致每个文件夹上只有1个getfiles操作,因此速度很快(选项1),但在每个子文件夹读取之后应用筛选器时,只需使用少量内存->在每个子文件夹之后删除开销。 如果我错了,请纠正我。正如我所说,我对编程还很陌生,但我想更深入地了解一些事情,最终变得擅长于此:) |
|
|
22
0
我不知道哪种解决方案更好,但我使用的是:
|
|
|
23
0
如果您使用的是vb.net(或将依赖项导入到C项目中),那么实际上存在一个方便的方法,它允许筛选多个扩展名:
在vb.net中,可以通过我的命名空间访问:
不幸的是,这些便利方法不支持一个延迟评估的变量,比如
|
|
|
24
0
使用getfiles搜索模式过滤扩展名是不安全的!! 例如,您有两个文件test1.xls和test2.xlsx,您希望使用搜索模式*.xls过滤掉XLS文件,但getfiles同时返回test1.xls和test2.xlsx。 我不知道这一点,当一些临时文件突然被当作正确的文件处理时,在生产环境中出错。搜索模式为*.txt,临时文件名为*.txt20181028 U 100753898 因此,搜索模式不可信,您还必须添加对文件名的额外检查。 |
|
|
25
-1
或者您可以将扩展字符串转换为字符串^
|
|
|
26
-2
希望这能帮助别人:
|
|
|
Ernaldo · 如何在C(macOS)中检查文件夹是否真的是别名? 3 年前 |
|
|
Janek · 分布式文件系统,用于指定文件存储在哪台计算机上 13 年前 |
|
|
Andrew · 如何在android中转储文件系统/dev/fuse? 13 年前 |