クリックボタンイベントで私はしました:
if (File.Exists(@"d:\Keywords.txt"))
{
entries = File.ReadAllLines(@"d:\Keywords.txt");
foreach (string entry in entries)
{
string[] values = entry.Split(',');
if (LocalyKeyWords.Count == 0)
{
LocalyKeyWords[values[0]] = new List<string>();
}
else
{
LocalyKeyWords[values[0]].Clear();
}
for (int i = 1; i < values.Length; i++)
LocalyKeyWords[values[0]].Add(values[i]);
}
}
私が追加/変更した部分は次のとおりです。
if (LocalyKeyWords.Count == 0)
{
LocalyKeyWords[values[0]] = new List<string>();
}
else
{
LocalyKeyWords[values[0]].Clear();
}
そして、初めてテキストファイルが存在しない場合は問題ありませんが、ファイルが存在し、すでにURLとキーが内部にある場合は、次の場合に同じエラーが発生します。LocalyKeyWords [values [0]]。Clear();
エラーは次のとおりです。指定されたキーが辞書に存在しませんでした。そして、値にはインデックス[0]のURLとインデックス[1]に2つのインデックスが含まれていることがわかります。キーとLocalyKeyWordsには、値である1つのインデックスが含まれています。
では、どうすればこの問題を解決できますか?また、ボタンをクリックしなくても、コンストラクターでプログラムを実行しているときにテキストファイルをロードするにはどうすればよいですか?
コンストラクターでプログラムを実行するときにテキストファイルを1回ロードし、ボタンをクリックするときに1回ロードするようにするにはどうすればよいですか?
ありがとう。