日期:2014-05-18  浏览次数:20647 次

枚举 C#
FileInfo[] fileInfoSource = TheFolderSource.GetFiles("*.bin|*.txt|*.xls|*.xlsx|*.doc|*.docx|*.xml|*.jpg|*.png|*.gif|*.rar"); //枚举源文件目录中的文件

异常:路径中具有非法字符

我之所以不用"*.*",是因为我的程序会有日志文件.ini产生,而它不是应该被枚举的,请问各位我把匹配搜索条件的格式没写对?还是怎么回事?

------解决方案--------------------
看msdn中GetFiles一个参数是什么意思。两个参数。三个参数。
你用错了
http://msdn.microsoft.com/zh-cn/library/07wt70x2
------解决方案--------------------
探讨
引用:

DirectoryInfo.GetFiles 方法 (String)

返回当前目录中与给定的搜索模式匹配的文件列表。

searchPattern
类型: System.String

搜索字符串(如“*.txt”)。

你自己看看这个方法的说明吧,根本就不知道你送的参数格式


我看了,它就这么简单的一句啊“搜索字符串(如“*.txt”)。……

------解决方案--------------------
我说了,你这是两个问题。
第一个问题是 GetFiles 用的不对,没有返回东西。

第二个问题是数组下标越界,不管你前面有没有数据,你这里都不应该出现下标越界的情况,这只能说明你写代码的逻辑不严谨。
------解决方案--------------------
("*.bin|*.txt|*.xls|*.xlsx|*.doc|*.docx|*.xml|*.jpg|*.png|*.gif|*.rar"
过滤条件斜对么有?