C# 处理FileSystemWatcher[]时出现NullReferenceException

C# 处理FileSystemWatcher[]时出现NullReferenceException,c#,events,nullreferenceexception,filesystemwatcher,C#,Events,Nullreferenceexception,Filesystemwatcher,我检查了目录[0],发现它没有.Path,但我不明白为什么,它必须这样做。 基本上,我想为某些列表中的每个目录创建一个特定的FileSystemWatcher,并只使用一个EventHandler处理所有“创建的”事件。如果有某种方法可以只使用一个FileSystemWatcher监视多个目录,我想知道这一点。 抱歉,我的英语不是很好。您只分配了一个能够容纳FileSystemWatcher实例的数组,而不是实例本身 您缺少以下行(在崩溃的行之前): 不是Path是null,而是FileSyst

我检查了目录[0],发现它没有.Path,但我不明白为什么,它必须这样做。
基本上,我想为某些列表中的每个目录创建一个特定的FileSystemWatcher,并只使用一个EventHandler处理所有“创建的”事件。如果有某种方法可以只使用一个FileSystemWatcher监视多个目录,我想知道这一点。

抱歉,我的英语不是很好。

您只分配了一个能够容纳FileSystemWatcher实例的数组,而不是实例本身

您缺少以下行(在崩溃的行之前):


不是
Path
null
,而是FileSystemWatcher实例本身

您只分配了一个能够容纳FileSystemWatcher实例的数组,而不是实例本身

您缺少以下行(在崩溃的行之前):

不是
Path
null
,而是FileSystemWatcher实例本身

string[] directories = textBox5.Text.Split(new Char[] { '\n' }, StringSplitOptions.RemoveEmptyEntries);
FileSystemWatcher[] fileSysWatchers = new FileSystemWatcher[directories.Length];
for (int i = 0; i < directories.Length; i++)
        {
            directories[i] = directories[i].Replace("\n", "");
            directories[i] = directories[i].Replace("\r", "");
            fileSysWatchers[i].Path = directories[i];
            if (checkBox8.Checked)
            {
                fileSysWatchers[i].Created += new FileSystemEventHandler(Form1_Created);
            }
        }    
fileSysWatchers[i].Path = directories[i];
fileSysWatchers[i] = new FileSystemWatcher();