在C# winforms应用程序中储存和使用特殊符号

bsxbgnwa  于 2022-11-17  发布在  C#
关注(0)|答案(1)|浏览(151)

我目前正在开发一个应用程序,它会给予我存储在系统中的类似闪存卡的问题。我想知道什么是我存储信息列表的最佳选择。我目前使用的格式是第一行是问题,下一行是正确答案,所有后续行都是干扰项,这是通过file.read和write完成的。我的问题是,我不能使用特殊的符号,比如说我想写NH4+,我必须把它写成NH4+。
到目前为止,我已经研究了SQLLite和JSON,但两者都不起作用,任何建议都不胜感激。
我无法让txt文件正确返回Unicode值,而且使用起来感觉几乎很笨重。因此,我也不确定如何让winforms读取并正确显示Unicode

2mbi3lxu

2mbi3lxu1#

1.建立新的Windows Form应用程序。

  • 添加名为“text.json”的新项(JSON)
  • 将其“复制到输出目录”属性设置为“始终复制”
  • 将以下内容添加到文件中 (键入这是最困难的部分)
{
  "fractions": [
    "2½",
    "4¾"
  ],
  "chemistry": [
    "NH₄",
    "H₂SO₄",
    "³He"
  ],
  "cards": [
    "A♠",
    "2♥",
    "10♢",
    "J♧"
  ]
}

1.向表单中添加两个多行文本框(默认情况下,它们的名称为textBox1textBox2
1.在设计器中双击窗体的Caption(标题区域),这将为窗体打开一个连接的Load处理程序
1.将以下内容粘贴到Load处理程序的主体中:

private void Form1_Load(object sender, EventArgs e)
{
    var json = File.ReadAllText("text.json");
    textBox1.Text = json;
    var data = JsonConvert.DeserializeObject<Dictionary<string, string[]>>(json);
    var buffer = new StringBuilder();
    foreach (var topLevel in data)
    {
        buffer.AppendLine(topLevel.Key);
        foreach (var item in topLevel.Value)
        {
            buffer.AppendLine($"    {item}");
        }
    }
    textBox2.Text = buffer.ToString();
}

1.运行该程序。您将在textBox1中得到以下内容:

{
  "fractions": [
    "2½",
    "4¾"
  ],
  "chemistry": [
    "NH₄",
    "H₂SO₄",
    "³He"
  ],
  "cards": [
    "A♠",
    "2♥",
    "10♢",
    "J♧"
  ]
}

1.这个是textBox2

fractions
    2½
    4¾
chemistry
    NH₄
    H₂SO₄
    ³He
cards
    A♠
    2♥
    10♢
    J♧

你的问题比这更复杂吗?这第一次就成功了-我没有用魔法让它 * 只是工作 *

相关问题