提问者:小点点

IndexOutOfRangeException:Index在C#中超出了数组的界限


我已经实现了find&;使用jquery和C#替换。在filesIndex=0的方法中,我试图增加它的值以获得page-id。但这不是错误。

IndexOutOfRangeException:Index在C#中超出了数组的界限

public static string[] FindAndReplace(string searchstring)
        {
            string fileContent = searchstring;
            int filesIndex = 0;
            string[] fileData = new string[2];
            string outFilr = GlobalVariables.strRepoOutPath;
            foreach (string file in Directory.EnumerateFiles(@"C:\Editor\editorMaster\Prod\Repository\Repoout\Users\local\xml_binder_01_01_0001_1"))
            {
                if (!file.Contains(".tox.html") && (!file.Contains("-in.html") && File.ReadAllText(file).Contains(fileContent)))
                {
                    fileData[filesIndex] = filesIndex.ToString().PadLeft(5, '0');
                     // fileData[1] = File.ReadAllText(file);
                    filesIndex++;
                }
                else if (file.Contains("-fnlib") && File.ReadAllText(file).Contains(fileContent))
                {
                    fileData[filesIndex] = "fnlib";
                   // fileData[1] = File.ReadAllText(file);
                    filesIndex++;
                }  
            }
            return fileData;
        }

共1个答案

匿名用户

那么,您将初始化数组filedata=new string[2],其大小为2。对于与您的条件匹配的第三个文件,fileIndex将为2,因此超出了数组的界限。

由于您事先不知道may文件将如何匹配,因此可以使用list