我已经实现了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;
}
那么,您将初始化数组filedata=new string[2]
,其大小为2。对于与您的条件匹配的第三个文件,fileIndex将为2,因此超出了数组的界限。
由于您事先不知道may文件将如何匹配,因此可以使用list
。