好的,所以希望我可以解释这个足够的细节,以便有人能够帮助我..我正在编写一个应用程序在C#一个文本文件并替换正好是文件名的特定文本,并为给定文件名的每个单一组合打印一个新的文本文件。改变文件名文本的特定位置有它们自己的一组可能的文件名,被列为下面描述的一个数组。无论每个位置有多少个文件名可用,以及多少个文件名总位置,程序都应该运行。如果你真的想让它变得很棒,那么可以稍微优化一下,因为知道在任何单个文本文件中都不应该复制文件名。在基本文本文件中创建特定行的每个组合的文本文件
text
是构成整个文件基础的一行数组。
lineNum
保存文件名条目行位置的数组。
previousFiles
是以前使用的文件名的数组,从文件中已有的文件开始。
files
是可能的文件名的锯齿状的2维阵列,其中files[1]
将用于第二位置
这里所有可能的文件名的阵列的它如何与3个独立的文件名地点工作的示例中,第一个给出3个可能的文件名,第二个给出8个可能的文件名,第三个给出3个可能的文件名。
哦,并假设buildNewFile的作品。
int iterator = 0;
for (int a = 0; a < 3; a++)
{
for (int b = 0; b < 8; b++)
{
for (int c = 0; c < 3; c++)
{
iterator++;
text[lineNums[0]] = text[lineNums[0]].Replace(previousFiles[0], files[0][a]);
text[lineNums[1]] = text[lineNums[1]].Replace(previousFiles[0], files[0][a]);
text[lineNums[2]] = text[lineNums[2]].Replace(previousFiles[1], files[1][b]);
text[lineNums[3]] = text[lineNums[3]].Replace(previousFiles[1], files[1][b]);
text[lineNums[4]] = text[lineNums[4]].Replace(previousFiles[2], files[2][c]);
text[lineNums[5]] = text[lineNums[5]].Replace(previousFiles[2], files[2][c]);
previousFiles = new string[] { files[0][a], files[1][b], files[2][c] };
buildNewFile(text, Info.baseFolder + "networks\\" + Info.dsnFilename + iterator + ".dsn");
}
}
}
如果你们可以帮助我,非常感谢你,我只是无法弄清楚如何递归或任何事情。如果您有任何问题,我会回答并在此处进行编辑以反映这一点。