1

私は現在、学習目的でハングマンをプログラミングしています。そのために、埋め込みリソースとして約 6000 語のテキスト ファイルがあります。プログラムはファイルを読み取り、そこからランダムな文字列を 1 つ取り出します。複雑さを増すために、自分の言葉を書くことができる wordeditor を作りました。私の質問は次のとおりです。編集した文字列配列をリソース ファイルに保存するにはどうすればよいですか。

このコードは、リソース ファイルを読み取り、複数行のテキスト ボックスに表示します。

public editorForm()
{
  InitializeComponent();
  string[] Lines = Properties.Resources.wordRes.Split(new string[] { Environment.NewLine }, StringSplitOptions.RemoveEmptyEntries);
  for (int i = 0; i < Lines.Length; i++)
    {
      textBox1.Text += Lines[i] + Environment.NewLine;               
    }
  textBox1.SelectionStart = textBox1.Text.Length;          
}

そして、これは私の現在の保存用のコードです。現在、編集したファイルをデスクトップに保存するだけですが、リソースとして保存したいと考えています。

private void saveToolStripMenuItem_Click(object sender, EventArgs e)
{
  string[] words = textBox1.Text.Split(new string[] { Environment.NewLine }, StringSplitOptions.RemoveEmptyEntries);
  FileStream overwrite = new FileStream(Environment.GetFolderPath(Environment.SpecialFolder.Desktop) + "\\Hangman.txt", FileMode.Create);
  using (StreamWriter file = new StreamWriter(overwrite))
  {
    for (int i = 0; i < words.Length; i++)
    {
      file.Write(words[i] + Environment.NewLine);
    }
  }     
  MessageBox.Show("Words saved. ");
}
4

1 に答える 1

1

埋め込まれたリソースは、アセンブリがコンパイルされた後に更新または変更することはできません。

データをディスクに保存してから、それをロードするときにデータを埋め込みリソースのデータとマージしないでください。または、ファイルをディスクに置いて埋め込みリソースを取得するか、ファイルが存在しない場合は埋め込みリソースをデフォルトとして使用してからディスクに書き込みます。

于 2013-01-10T08:17:18.287 に答える