C# getfile()不返回匹配项时出现字符串数组问题

C# getfile()不返回匹配项时出现字符串数组问题,c#,string,C#,String,我的任务是在c#中编写一个小应用程序,它在目录中搜索给定的文件类型。我正在使用.txt文件进行测试,但该应用程序适用于Zebra打印机的.epl文件 我试图用这样一种方式来写它: aO如果找到.epl文件,请发送到打印机,删除.epl文件,然后等待几秒钟。 再次搜索目录中的.epl文件,发送到打印机,删除 如果未找到.epl文件,请等待几秒钟,重复此操作,直到找到.epl文件。重复a) 当Directory.GetFiles(@s1,“*.txt”)根本找不到.txt文件并试图与程序的其余部分一

我的任务是在c#中编写一个小应用程序,它在目录中搜索给定的文件类型。我正在使用.txt文件进行测试,但该应用程序适用于Zebra打印机的.epl文件

我试图用这样一种方式来写它:

aO如果找到.epl文件,请发送到打印机,删除.epl文件,然后等待几秒钟。 再次搜索目录中的.epl文件,发送到打印机,删除

如果未找到.epl文件,请等待几秒钟,重复此操作,直到找到.epl文件。重复a)

当Directory.GetFiles(@s1,“*.txt”)根本找不到.txt文件并试图与程序的其余部分一起运行时,就会出现问题

我得到:System.IndexOutOfRangeException:索引超出了数组的边界

我不知道该怎么办,我相信这与空异常有关?我的代码不完整,因为这个问题困扰着我;我也是一个新手,所以它不是最干净的代码


代码如下:

即使数组可能为空,您也在不加区别地使用文件路径[0]。这实际上与空值无关
GetFiles()
始终返回一个数组,但如果找不到匹配的文件,则该数组将为空数组

我认为您应该简单地将您的情况更改为:

if (filePaths.Length > 0)

请看下面的代码:

string[] filePaths = Directory.GetFiles(@s1, "*.txt");
if ((filePaths[0]).Length > 1)   .....
从文件中:

如果没有文件,此方法将返回空数组

因此,适当的检查是:

if (filePaths.Length > 0)

简单的解决方案,没有问题。谢谢我需要早上的咖啡