私はプログラミングが初めてで、テキスト ファイル内の特定の単語を検索して新しい値に置き換える C# プロジェクトに取り組んでいます。動作するコードがいくつかありますが、OLD 値と NEW 値は現在ハードコーディングされています。外部 CSV ファイルを構成ファイルとして使用して、ユーザーが後で OLD から NEW へのマッピングを追加または更新できるようにしたいと考えています。これは、OLD 値と NEW 値がハードコードされた現在のコードです。
try
{
StreamReader file = new StreamReader(inputfullfilepath);
TextWriter writer = new StreamWriter(outputfile);
while ((line = file.ReadLine()) != null)
{
line = line.Replace("OLD1", "NEW1");
line = line.Replace("OLD2", "NEW2");
// etc....
writer.WriteLine(line);
}
file.Close();
File.Move(inputfullfilepath, inputfullfilepath + ".old");
writer.Close();
File.Move(outputfile, outputfilepath + @"\" + inputfilename);
MessageBox.Show("File Scrub Complete", "Success");
}
catch
{
MessageBox.Show("Error: Be sure data paths are valid.", "Error",
MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
}
このコードは、テキスト ファイルの各行を取得し、OLD から NEW へのマッピングをすべて検索/置換してから、テキスト ファイルの次の行に移動します。私が理解しようとしている問題は、この OLD から NEW へのマッピングのリストを、CSV (または XML の方が簡単な場合は XML) 構成ファイルに基づいて動的に作成できるため、ユーザーは新しい検索/置換キーワードを追加できることです。
Visual Studio (XML 構成ファイルを作成する) で C# アプリケーション設定を使用しようとしましたが、それを機能させる方法を理解するのに非常に苦労しました。値をハードコーディングする必要がないように、これを行う最善の方法は何ですか?