gpt4 book ai didi

c# - 如何将新项目附加到保存在 C# 文本文件中的 KeyValuePair

转载 作者:太空宇宙 更新时间:2023-11-03 19:51:24 25 4
gpt4 key购买 nike

  • 我正在生成图书序列号并保存到键值对然后保存到文本文件,每个 key 都是唯一的。

  • 当我将它保存到文本文件时,生成了 key ,我可以检索 key 并且它工作正常。

  • 当我生成第二个 key 并将其保存到文本文件时,它会覆盖文本文件并且之前生成的 key 被删除。

生成 key :

private void GenerateButton1_Click(object sender, EventArgs e)
{

if (comboBox1.SelectedIndex == 0)
{
BookcomboBox2.Items.Clear();

from = int.Parse(FrmtextBox1.Text);
to = int.Parse(TotextBox2.Text);

result = to - from;

for (int i = 0; i <= result; i++)
{
string item = Convert.ToString(from + i);
BookcomboBox2.Items.Add(item);
vals.Add(new KeyValuePair<int, string>(0, item)); //
}
MessageBox.Show("Book No 1, Generated Successfully", "Success", MessageBoxButtons.OK, MessageBoxIcon.Information);
}

if (comboBox1.SelectedIndex == 1)
{
BookcomboBox2.Items.Clear();

from = int.Parse(FrmtextBox1.Text);
to = int.Parse(TotextBox2.Text);

result = to - from;

for (int i = 0; i <= result; i++)
{
string item = Convert.ToString(from + i);
BookcomboBox2.Items.Add(item);
vals.Add(new KeyValuePair<int, string>(1, item)); // CatA has 0 key value
}
MessageBox.Show("Book No-2 Generated Successfully", "Success", MessageBoxButtons.OK, MessageBoxIcon.Information);
}

保存 key

private void Savebutton1_Click(object sender, EventArgs e)
{

using (StreamWriter sw = File.CreateText(Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Books.txt")))
{

string json = JsonConvert.SerializeObject(vals);
sw.Write(json);
}
MessageBox.Show("Books Saved Successfully", "Success", MessageBoxButtons.OK, MessageBoxIcon.Information);

}

当我添加新书时,之后保存,而不是追加 Book-2 它只用 book-2 覆盖文件,之前创建的 book-1 被删除。

p.s:如果问题听起来令人困惑,请提问。

已编辑

patrick 给出的解决方案有效,但再次阅读时出现此错误:

ERROR

当我检查文件时,我注意到了这一点:

Append

最佳答案

问题是 File.CreateText() 将覆盖该文件,如果它已经存在的话。

如果你想附加到现有文件,你可以使用 new StreamWriter(path, append: true) 代替

关于c# - 如何将新项目附加到保存在 C# 文本文件中的 KeyValuePair,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38898804/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com