好的,所以希望我可以解釋這個足夠的細節,以便有人能夠幫助我..我正在編寫一個應用程序在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");
}
}
}
如果你們可以幫助我,非常感謝你,我只是無法弄清楚如何遞歸或任何事情。如果您有任何問題,我會回答並在此處進行編輯以反映這一點。